summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp662
1 files changed, 76 insertions, 586 deletions
diff --git a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp
index 5668be63315..6ab2817b49e 100644
--- a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp
+++ b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp
@@ -1,4 +1,4 @@
-// $Id$
+ // $Id$
// ============================================================================
//
@@ -61,7 +61,6 @@ void
TAO_Basic_StreamCtrl::start (const AVStreams::flowSpec &flow_spec,
CORBA::Environment &ACE_TRY_ENV)
{
- // call start on the flow connections.
if (CORBA::is_nil (this->sep_a_.in ()))
return;
@@ -86,32 +85,18 @@ TAO_Basic_StreamCtrl::destroy (const AVStreams::flowSpec &the_spec,
// Changes the QoS associated with the stream
// Empty the_spec means apply operation to all flows
CORBA::Boolean
-TAO_Basic_StreamCtrl::modify_QoS (AVStreams::streamQoS & new_qos,
- const AVStreams::flowSpec &the_spec,
- CORBA::Environment &ACE_TRY_ENV)
+TAO_Basic_StreamCtrl::modify_QoS (AVStreams::streamQoS &/* new_qos */,
+ const AVStreams::flowSpec &/* the_spec */,
+ CORBA::Environment &/* ACE_TRY_ENV */)
{
- ACE_TRY
- {
- this->vdev_a_->modify_QoS (new_qos,the_spec,ACE_TRY_ENV);
- ACE_TRY_CHECK;
- this->vdev_b_->modify_QoS (new_qos,the_spec,ACE_TRY_ENV);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_Basic_StreamCtrl::modify_QoS");
- return 0;
- }
- ACE_ENDTRY;
- ACE_CHECK_RETURN (0);
- return 1;
+ return 0;
}
// Used by StreamEndPoint and VDev to inform StreamCtrl of events.
// E.g., loss of flow, reestablishment of flow, etc..
void
-TAO_Basic_StreamCtrl::push_event (const struct CosPropertyService::Property & /* the_event */,
- CORBA::Environment & /* ACE_TRY_ENV */)
+TAO_Basic_StreamCtrl::push_event (const struct CosPropertyService::Property &/* the_event */,
+ CORBA::Environment &/* ACE_TRY_ENV */)
{
ACE_DEBUG ((LM_DEBUG,"\n(%P|%t) Recieved event \""));
}
@@ -119,7 +104,7 @@ TAO_Basic_StreamCtrl::push_event (const struct CosPropertyService::Property & /*
// @@ Need to throw not-supported exception here
void
TAO_Basic_StreamCtrl::set_FPStatus (const AVStreams::flowSpec &/* the_spec */,
- const char * /* fp_name */,
+ const char */* fp_name */,
const CORBA::Any &/* fp_settings */,
CORBA::Environment &/* ACE_TRY_ENV */)
{
@@ -474,39 +459,6 @@ TAO_StreamCtrl::unbind_party (AVStreams::StreamEndPoint_ptr the_ep,
ACE_UNUSED_ARG (ACE_TRY_ENV);
}
-void
-TAO_StreamCtrl::unbind_dev (AVStreams::MMDevice_ptr dev,
- const AVStreams::flowSpec & the_spec,
- CORBA::Environment &ACE_TRY_ENV)
-{
-
-}
-
-AVStreams::VDev_ptr
-TAO_StreamCtrl::get_related_vdev (AVStreams::MMDevice_ptr adev,
- AVStreams::StreamEndPoint_out sep,
- CORBA::Environment &ACE_TRY_ENV)
-{
- return AVStreams::VDev::_nil ();
-}
-
-CORBA::Boolean
-TAO_StreamCtrl::modify_QoS (AVStreams::streamQoS &the_qos,
- const AVStreams::flowSpec &the_spec,
- CORBA::Environment &ACE_TRY_ENV)
-{
- if (this->mcastconfigif_ != 0)
- {
- // call modify_Qos on the root VDev which is the mcast configif.
- ACE_DEBUG ((LM_DEBUG,"Cannot Modify the Qos for multipoint streams\n"));
- }
- else
- {
- TAO_Basic_StreamCtrl::modify_QoS (the_qos,the_spec,ACE_TRY_ENV);
- }
- return 1;
-}
-
// ----------------------------------------------------------------------
// TAO_MCastConfigIf
// ----------------------------------------------------------------------
@@ -546,6 +498,7 @@ TAO_MCastConfigIf::set_dev_params (const char * flowName,
{
}
+
// ----------------------------------------------------------------------
// TAO_Base_StreamEndPoint
// ----------------------------------------------------------------------
@@ -691,11 +644,11 @@ TAO_Server_StreamEndPoint::request_connection (AVStreams::StreamEndPoint_ptr ini
ACE_TRY
{
// Use the base class implementation of request_connection
- TAO_StreamEndPoint::request_connection (initiator,
- is_mcast,
- qos,
- the_spec,
- ACE_TRY_ENV);
+ TAO_StreamEndPoint<POA_AVStreams::StreamEndPoint_B>::request_connection (initiator,
+ is_mcast,
+ qos,
+ the_spec,
+ ACE_TRY_ENV);
ACE_TRY_CHECK;
// Make the upcall to the app
@@ -727,320 +680,6 @@ TAO_Server_StreamEndPoint::~TAO_Server_StreamEndPoint (void)
{
}
-
-// ----------------------------------------------------------------------
-// TAO_StreamEndPoint
-// ----------------------------------------------------------------------
-
-// constructor.
-
-TAO_StreamEndPoint::TAO_StreamEndPoint (void)
- :flow_count_ (1)
-{
- // this->handle_open ();
-}
-
-// Stop the physical flow of data on the stream
-// Empty the_spec --> apply to all flows
-
-void
-TAO_StreamEndPoint::stop (const AVStreams::flowSpec &the_spec,
- CORBA::Environment &ACE_TRY_ENV)
-{
- // Make the upcall into the app
- this->handle_stop (the_spec, ACE_TRY_ENV);
-}
-
-// Start the physical flow of data on the stream
-// Empty the_spec --> apply to all flows
-
-void
-TAO_StreamEndPoint::start (const AVStreams::flowSpec &flow_spec,
- CORBA::Environment &ACE_TRY_ENV)
-{
- // Make the upcall into the app
- this->handle_start (flow_spec, ACE_TRY_ENV);
-}
-
-// Close the connection
-
-void
-TAO_StreamEndPoint::destroy (const AVStreams::flowSpec &the_spec,
- CORBA::Environment &ACE_TRY_ENV)
-{
-// // Make the upcall into the app
-// this->handle_destroy (the_spec, ACE_TRY_ENV);
- //
- // Remove self from POA. Because of reference counting, the POA
- // will automatically delete the servant when all pending requests
- // on this servant are complete.
- //
- PortableServer::POA_var poa = this->_default_POA (ACE_TRY_ENV);
- ACE_CHECK;
-
- PortableServer::ObjectId_var id = poa->servant_to_id (this,
- ACE_TRY_ENV);
- ACE_CHECK;
-
- poa->deactivate_object (id.in (),
- ACE_TRY_ENV);
- ACE_CHECK;
-}
-
-// Called by our peer endpoint, requesting us to establish
-// a connection
-
-CORBA::Boolean
-TAO_StreamEndPoint::request_connection (AVStreams::StreamEndPoint_ptr initiator,
- CORBA::Boolean is_mcast,
- AVStreams::streamQoS &qos,
- AVStreams::flowSpec &the_spec,
- CORBA::Environment &)
-{
- ACE_UNUSED_ARG (initiator);
- ACE_UNUSED_ARG (is_mcast);
- ACE_UNUSED_ARG (qos);
-
- ACE_DEBUG ((LM_DEBUG, "\n(%P|%t) TAO_StreamEndPoint::request_connection called"));
- ACE_DEBUG ((LM_DEBUG,
- "\n(%P|%t) TAO_StreamEndPoint::request_connection: "
- "flowspec has length = %d"
- "and the strings are:",
- the_spec.length ()));
- for (u_int i = 0; i < the_spec.length (); i++)
- ACE_DEBUG ((LM_DEBUG,
- the_spec [i]));
-
- return 0;
-}
-
-// @@ Need to throw not-supported exception here
-
-CORBA::Boolean
-TAO_StreamEndPoint::modify_QoS (AVStreams::streamQoS &new_qos,
- const AVStreams::flowSpec &the_flows,
- CORBA::Environment &ACE_TRY_ENV)
-{
- ACE_UNUSED_ARG (new_qos);
- ACE_UNUSED_ARG (the_flows);
- ACE_UNUSED_ARG (ACE_TRY_ENV);
- return 0;
-}
-
-// @@ Need to throw not-supported exception here
-
-CORBA::Boolean
-TAO_StreamEndPoint::set_protocol_restriction (const AVStreams::protocolSpec &the_pspec,
- CORBA::Environment &ACE_TRY_ENV)
-{
- ACE_TRY
- {
- CORBA::Any protocol_restriction_any;
-
- protocol_restriction_any <<= the_pspec;
- this->define_property ("ProtocolRestriction",
- protocol_restriction_any,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_StreamEndPoint::set_protocol_restriction");
- return 0;
- }
- ACE_ENDTRY;
- ACE_CHECK_RETURN (0);
- return 1;
-}
-
-
-void
-TAO_StreamEndPoint::disconnect (const AVStreams::flowSpec &the_spec,
- CORBA::Environment &ACE_TRY_ENV)
-{
- ACE_UNUSED_ARG (the_spec);
- ACE_UNUSED_ARG (ACE_TRY_ENV);
-}
-
-// @@ Need to throw not-supported exception here
-
-void
-TAO_StreamEndPoint::set_FPStatus (const AVStreams::flowSpec &the_spec,
- const char *fp_name,
- const CORBA::Any &fp_settings,
- CORBA::Environment &ACE_TRY_ENV)
-{
- ACE_UNUSED_ARG (the_spec);
- ACE_UNUSED_ARG (fp_name);
- ACE_UNUSED_ARG (fp_settings);
- ACE_UNUSED_ARG (ACE_TRY_ENV);
-}
-
-
-CORBA::Object_ptr
-TAO_StreamEndPoint::get_fep (const char *flow_name,
- CORBA::Environment &)
-{
- TAO_String_Hash_Key fep_name_key (flow_name);
- FlowEndPoint_Map::ENTRY *fep_entry = 0;
- if (this->fep_map_.find (fep_name_key,fep_entry) == 0)
- return fep_entry->int_id_;
- return 0;
-}
-
-
-char *
-TAO_StreamEndPoint::add_fep (CORBA::Object_ptr the_fep,
- CORBA::Environment &ACE_TRY_ENV)
-{
- char *flow_name = 0;
- ACE_TRY_EX (flow_name);
- {
- ACE_NEW_RETURN (flow_name,char [BUFSIZ],0);
- CORBA::Any_ptr flow_name_any;
- AVStreams::FlowEndPoint_ptr fep =
- AVStreams::FlowEndPoint::_narrow (the_fep,ACE_TRY_ENV);
- ACE_TRY_CHECK_EX (flow_name);
- flow_name_any = fep->get_property_value ("FlowName",ACE_TRY_ENV);
- ACE_TRY_CHECK_EX (flow_name);
- *flow_name_any >>= flow_name;
- }
- ACE_CATCHANY
- {
- // exception implies the flow name is not defined and is system generated.
- ACE_OS::sprintf (flow_name,"flow%d",flow_num_++);
- }
- ACE_ENDTRY;
- // Add it to the sequence of flowNames supported.
- // put the flowname and the flowendpoint in a hashtable.
- TAO_String_Hash_Key fep_name_key (flow_name);
- if (this->fep_map_.bind (fep_name_key,the_fep) != 0)
- {
- ACE_THROW_RETURN (AVStreams::streamOpFailed (),0);
- }
- ACE_TRY_EX (flows)
- {
- // increment the flow count.
- this->flow_count_++;
- this->flows_.length (this->flow_count_);
- this->flows_ [this->flow_count_-1] = flow_name;
- // define/modify the "Flows" property.
- CORBA::Any flows_any;
- flows_any <<= this->flows_;
- this->define_property ("Flows",
- flows_any,
- ACE_TRY_ENV);
- ACE_TRY_CHECK_EX (flows);
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_StreamEndPoint::add_fep");
- return 0;
- }
- ACE_ENDTRY;
- ACE_CHECK_RETURN (0);
- return flow_name;
-}
-
-
-void
-TAO_StreamEndPoint::remove_fep (const char *flow_name,
- CORBA::Environment &ACE_TRY_ENV)
-{
- ACE_TRY
- {
- TAO_String_Hash_Key fep_name_key (flow_name);
- CORBA::Object_ptr fep_entry = 0;
- // Remove the fep from the hash table.
- if (this->fep_map_.unbind (fep_name_key,fep_entry)!= 0)
- TAO_THROW_ENV (AVStreams::streamOpFailed (),ACE_TRY_ENV);
- // redefine the "Flows" property
- AVStreams::flowSpec new_flows (this->flows_.length ());
- for (u_int i=0,j=0 ; i <this->flows_.length (); i++)
- if (ACE_OS::strcmp (flow_name,this->flows_[i]) != 0)
- new_flows[j++] = this->flows_[i];
-
- CORBA::Any flows;
- flows <<= new_flows;
- this->flows_ = new_flows;
- this->define_property ("Flows",
- flows,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_StreamEndPoint::remove_fep");
- }
- ACE_ENDTRY;
- ACE_CHECK;
-}
-
-// @@ Need to throw not-supported exception here
-
-void
-TAO_StreamEndPoint::set_negotiator (AVStreams::Negotiator_ptr new_negotiator,
- CORBA::Environment &ACE_TRY_ENV)
-{
- ACE_TRY
- {
- CORBA::Any negotiator;
- negotiator <<= new_negotiator;
- this->define_property ("Negotiator",
- negotiator,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_StreamEndPoint::set_negotiator");
- }
- ACE_ENDTRY;
- ACE_CHECK;
-}
-
-// Sets the public key used for this streamendpoint.
-
-void
-TAO_StreamEndPoint::set_key (const char *flow_name,
- const AVStreams::key & the_key,
- CORBA::Environment &ACE_TRY_ENV)
-{
- ACE_TRY
- {
-
- CORBA::Any PublicKey;
- PublicKey <<= the_key;
- char PublicKey_property [BUFSIZ];
- ACE_OS::sprintf (PublicKey_property,"%s_PublicKey",flow_name);
- this->define_property (PublicKey_property,
- PublicKey,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_StreamEndPoint::set_key");
- }
- ACE_ENDTRY;
- ACE_CHECK;
-}
-
-// Set the source id.
-
-void
-TAO_StreamEndPoint::set_source_id (CORBA::Long source_id,
- CORBA::Environment &)
-{
- this->source_id_ = source_id;
-}
-
-
-TAO_StreamEndPoint::~TAO_StreamEndPoint (void)
-{
- //this->handle_close ();
-}
-
// ----------------------------------------------------------------------
// TAO_VDev
// ----------------------------------------------------------------------
@@ -1953,37 +1592,20 @@ TAO_FlowEndPoint::set_Mcast_peer (AVStreams::FlowConnection_ptr the_fc,
return 0;
}
-char *
-TAO_FlowEndPoint::go_to_listen (AVStreams::QoS & the_qos,
- CORBA::Boolean is_mcast,
- AVStreams::FlowProducer_ptr peer,
- char *& flowProtocol,
- CORBA::Environment &ACE_TRY_ENV)
-{
- return this->handle_go_to_listen (the_qos,is_mcast,peer,flowProtocol,ACE_TRY_ENV);
-}
+// ------------------------------------------------------------
+// TAO_FlowProducer class
+// ------------------------------------------------------------
-char *
-TAO_FlowEndPoint::handle_go_to_listen (AVStreams::QoS & the_qos,
- CORBA::Boolean is_mcast,
- AVStreams::FlowProducer_ptr peer,
- char *& flowProtocol,
- CORBA::Environment &ACE_TRY_ENV)
+//default constructor
+TAO_FlowProducer::TAO_FlowProducer (void)
{
- ACE_UNUSED_ARG (the_qos);
- ACE_UNUSED_ARG (is_mcast);
- ACE_UNUSED_ARG (peer);
- ACE_UNUSED_ARG (flowProtocol);
- ACE_UNUSED_ARG (ACE_TRY_ENV);
-
- return 0;
}
CORBA::Boolean
-TAO_FlowEndPoint::connect_to_peer (AVStreams::QoS & the_qos,
- const char * address,
- const char * use_flow_protocol,
- CORBA::Environment &ACE_TRY_ENV)
+TAO_FlowProducer::connect_to_peer (AVStreams::QoS & the_qos,
+ const char * address,
+ const char * use_flow_protocol,
+ CORBA::Environment &ACE_TRY_ENV)
{
// Right now since the A/V framework doesnt bother about the
// protocols we leave it to the application to handle the connection
@@ -1995,7 +1617,7 @@ TAO_FlowEndPoint::connect_to_peer (AVStreams::QoS & the_qos,
}
CORBA::Boolean
-TAO_FlowEndPoint::handle_connect_to_peer (AVStreams::QoS & the_qos,
+TAO_FlowProducer::handle_connect_to_peer (AVStreams::QoS & the_qos,
const char * address,
const char * use_flow_protocol,
CORBA::Environment &ACE_TRY_ENV)
@@ -2008,15 +1630,6 @@ TAO_FlowEndPoint::handle_connect_to_peer (AVStreams::QoS & the_qos,
}
-// ------------------------------------------------------------
-// TAO_FlowProducer class
-// ------------------------------------------------------------
-
-//default constructor
-TAO_FlowProducer::TAO_FlowProducer (void)
-{
-}
-
// multicast is currently not supported
char *
TAO_FlowProducer::connect_mcast (AVStreams::QoS & the_qos,
@@ -2084,6 +1697,32 @@ TAO_FlowConsumer::TAO_FlowConsumer (void)
{
}
+char *
+TAO_FlowConsumer::go_to_listen (AVStreams::QoS & the_qos,
+ CORBA::Boolean is_mcast,
+ AVStreams::FlowProducer_ptr peer,
+ char *& flowProtocol,
+ CORBA::Environment &ACE_TRY_ENV)
+{
+ return this->handle_go_to_listen (the_qos,is_mcast,peer,flowProtocol,ACE_TRY_ENV);
+}
+
+char *
+TAO_FlowConsumer::handle_go_to_listen (AVStreams::QoS & the_qos,
+ CORBA::Boolean is_mcast,
+ AVStreams::FlowProducer_ptr peer,
+ char *& flowProtocol,
+ CORBA::Environment &ACE_TRY_ENV)
+{
+ ACE_UNUSED_ARG (the_qos);
+ ACE_UNUSED_ARG (is_mcast);
+ ACE_UNUSED_ARG (peer);
+ ACE_UNUSED_ARG (flowProtocol);
+ ACE_UNUSED_ARG (ACE_TRY_ENV);
+
+ return 0;
+}
+
// ------------------------------------------------------------
// TAO_FDev
// ------------------------------------------------------------
@@ -2217,177 +1856,6 @@ TAO_FDev::destroy (AVStreams::FlowEndPoint_ptr /* the_ep */,
ACE_CHECK;
}
-//------------------------------------------------------------
-// TAO_Tokenizer
-//------------------------------------------------------------
-TAO_Tokenizer::TAO_Tokenizer (char *string, char delimiter)
- :token_array_ (10),
- count_ (0)
-{
- this->parse (string,delimiter);
-}
-
-int
-TAO_Tokenizer::parse (char *string,char delimiter)
-{
- char delimiter_str [2] = {0,0};
- delimiter_str [0] = delimiter;
- char *token = ACE_OS::strtok (string,delimiter_str);
- int count=0,result;
- while (token != 0)
- {
- result = this->token_array_.set (token,count);
- if (result == -1)
- {
- this->token_array_.size (this->token_array_.size ()*2);
- result = this->token_array_.set (token,count);
- if (result == -1)
- ACE_ERROR_RETURN ((LM_ERROR,"TAO_Tokenizer::parse error"),-1);
- }
- token = ACE_OS::strtok (string,0);
- count++;
- }
- this->num_tokens_ = count;
- return 0;
-}
-
-char*
-TAO_Tokenizer::token (void)
-{
- if (count_ < num_tokens_)
- return this->token_array_[this->count_++];
- else
- return 0;
-}
-
-int
-TAO_Tokenizer::num_tokens (void)
-{
- return this->num_tokens_;
-}
-
-char *
-TAO_Tokenizer::operator [] (size_t index) const
-{
- if (index >= this->num_tokens_)
- return 0;
- return this->token_array_[index];
-}
-
-//------------------------------------------------------------
-// TAO_FlowSpec_Entry
-//------------------------------------------------------------
-
-// constructor.
-TAO_FlowSpec_Entry::TAO_FlowSpec_Entry (void)
- :sfp_ (0),
- address_ (0),
- format_ (0),
- direction_ (TAO_AV_INVALID)
-{
-}
-
-// Destructor.
-TAO_FlowSpec_Entry::~TAO_FlowSpec_Entry (void)
-{
-}
-
-int
-TAO_FlowSpec_Entry::direction (void)
-{
- return this->direction_;
-}
-
-TAO_SFP*
-TAO_FlowSpec_Entry::flow_protocol (void)
-{
- return this->sfp_;
-}
-
-ACE_Addr*
-TAO_FlowSpec_Entry::carrier_protocol (void)
-{
- return address_;
-}
-
-char*
-TAO_FlowSpec_Entry::format (void)
-{
- return this->format_;
-}
-
-int
-TAO_Forward_FlowSpec_Entry::parse (char *flowSpec_entry)
-{
- TAO_Tokenizer tokenizer (flowSpec_entry,'\\');
- if (this->parse_flow_protocol_string (tokenizer [TAO_AV_FLOW_PROTOCOL]) < 0)
- return -1;
- this->set_direction (tokenizer [TAO_AV_DIRECTION]);
- if (this->parse_address (tokenizer [TAO_AV_ADDRESS]) < 0)
- return -1;
- this->format_ = tokenizer [TAO_AV_FORMAT];
- this->flowname_ = tokenizer [TAO_AV_FLOWNAME];
- return 0;
-}
-
-int
-TAO_FlowSpec_Entry::set_direction (char *direction)
-{
- if (ACE_OS::strcasecmp (direction,"in") == 0)
- this->direction_ = TAO_AV_DIR_IN;
- else if (ACE_OS::strcasecmp (direction,"out") == 0)
- this->direction_ = TAO_AV_DIR_OUT;
- else if (ACE_OS::strcasecmp (direction,"inout") == 0)
- this->direction_ = TAO_AV_DIR_INOUT;
- return 0;
-}
-
-int
-TAO_FlowSpec_Entry::parse_flow_protocol_string (char *flow_string)
-{
- if (ACE_OS::strncasecmp (flow_string,"sfp",3) == 0)
- {
- // do some flow protocol processing.
- }
- return 0;
-}
-
-int
-TAO_FlowSpec_Entry::parse_address (char *address)
-{
- TAO_Tokenizer protocol_tokenizer (address,'=');
- this->protocol_ = protocol_tokenizer[0];
- TAO_Tokenizer address_tokenizer (protocol_tokenizer[1],';');
- char addr[BUFSIZ];
- ACE_OS::sprintf (addr,"%s:%s",address_tokenizer[0],address_tokenizer[1]);
- if (ACE_OS::strncasecmp (this->protocol_,"AAL",3) == 0)
- ACE_DEBUG ((LM_DEBUG,"ATM support not added yet\n"));
-// ACE_NEW_RETURN (this->address_,
-// ACE_ATM_Addr (addr),
-// -1);
- else // we assume everything else is INET addr.
- {
- ACE_NEW_RETURN (this->address_,
- ACE_INET_Addr (addr),
- -1);
- }
- return 0;
-}
-
-int
-TAO_Reverse_FlowSpec_Entry::parse (char *flowSpec_entry)
-{
- TAO_Tokenizer tokenizer (flowSpec_entry,'\\');
- if (this->parse_flow_protocol_string (tokenizer [TAO_AV_FLOW_PROTOCOL]) < 0)
- return -1;
- this->set_direction (tokenizer [TAO_AV_DIRECTION]);
- if (this->parse_address (tokenizer [TAO_AV_ADDRESS]) < 0)
- return -1;
- this->format_ = tokenizer [TAO_AV_FORMAT];
- this->flowname_ = tokenizer [TAO_AV_FLOWNAME];
- return 0;
-}
-
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
template class ACE_Hash_Map_Entry<TAO_String_Hash_Key,CORBA::Object_ptr>;
template class ACE_Hash_Map_Manager<TAO_String_Hash_Key,CORBA::Object_ptr,ACE_Null_Mutex>;
@@ -2397,8 +1865,19 @@ template class ACE_Hash_Map_Iterator_Ex<TAO_String_Hash_Key, CORBA::Object_ptr,
template class ACE_Hash_Map_Iterator_Base_Ex<TAO_String_Hash_Key, CORBA::Object_ptr, ACE_Hash<TAO_String_Hash_Key>, ACE_Equal_To<TAO_String_Hash_Key>, ACE_Null_Mutex>;
template class ACE_Hash_Map_Reverse_Iterator<TAO_String_Hash_Key,CORBA::Object_ptr,ACE_Null_Mutex>;
template class ACE_Hash_Map_Reverse_Iterator_Ex<TAO_String_Hash_Key, CORBA::Object_ptr, ACE_Hash<TAO_String_Hash_Key>, ACE_Equal_To<TAO_String_Hash_Key>, ACE_Null_Mutex>;
-template class ACE_Array<char*>;
-template class ACE_Array_Base<char*>;
+template class TAO_StreamEndPoint<POA_AVStreams::StreamEndPoint>;
+template class TAO_StreamEndPoint<POA_AVStreams::StreamEndPoint_A>;
+template class TAO_StreamEndPoint<POA_AVStreams::StreamEndPoint_B>;
+template class TAO_PropertySet<POA_AVStreams::StreamEndPoint>;
+template class TAO_PropertySet<POA_AVStreams::StreamEndPoint_A>;
+template class TAO_PropertySet<POA_AVStreams::StreamEndPoint_B>;
+template class TAO_PropertySet<POA_AVStreams::Basic_StreamCtrl>;
+template class TAO_PropertySet<POA_AVStreams::VDev>;
+template class TAO_PropertySet<POA_AVStreams::MMDevice>;
+template class TAO_PropertySet<POA_AVStreams::FlowConnection>;
+template class TAO_PropertySet<POA_AVStreams::FlowEndPoint>;
+template class TAO_PropertySet<POA_AVStreams::FDev>;
+template class TAO_PropertySet<POA_AVStreams::MCastConfigIf>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
#pragma instantiate ACE_Hash_Map_Entry<TAO_String_Hash_Key,CORBA::Object_ptr>
#pragma instantiate ACE_Hash_Map_Manager<TAO_String_Hash_Key,CORBA::Object_ptr,ACE_Null_Mutex>
@@ -2408,6 +1887,17 @@ template class ACE_Array_Base<char*>;
#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<TAO_String_Hash_Key, CORBA::Object_ptr, ACE_Hash<TAO_String_Hash_Key>, ACE_Equal_To<TAO_String_Hash_Key>, ACE_Null_Mutex>
#pragma instantiate ACE_Hash_Map_Reverse_Iterator<TAO_String_Hash_Key,CORBA::Object_ptr,ACE_Null_Mutex>
#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<TAO_String_Hash_Key, CORBA::Object_ptr, ACE_Hash<TAO_String_Hash_Key>, ACE_Equal_To<TAO_String_Hash_Key>, ACE_Null_Mutex>
-#pragma instantiate ACE_Array<char*>
-#pragma instantiate ACE_Array_Base<char*>
+#pragma instantiate TAO_StreamEndPoint<POA_AVStreams::StreamEndPoint>
+#pragma instantiate TAO_StreamEndPoint<POA_AVStreams::StreamEndPoint_A>
+#pragma instantiate TAO_StreamEndPoint<POA_AVStreams::StreamEndPoint_B>
+#pragma instantiate TAO_PropertySet<POA_AVStreams::StreamEndPoint>
+#pragma instantiate TAO_PropertySet<POA_AVStreams::StreamEndPoint_A>
+#pragma instantiate TAO_PropertySet<POA_AVStreams::StreamEndPoint_B>
+#pragma instantiate TAO_PropertySet<POA_AVStreams::Basic_StreamCtrl>
+#pragma instantiate TAO_PropertySet<POA_AVStreams::VDev>
+#pragma instantiate TAO_PropertySet<POA_AVStreams::MMDevice>
+#pragma instantiate TAO_PropertySet<POA_AVStreams::FlowConnection>
+#pragma instantiate TAO_PropertySet<POA_AVStreams::FlowEndPoint>
+#pragma instantiate TAO_PropertySet<POA_AVStreams::FDev>
+#pragma instantiate TAO_PropertySet<POA_AVStreams::MCastConfigIf>
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */