#include <AVStreams_i.h>
Inheritance diagram for TAO_FlowEndPoint:
Public Member Functions | |
TAO_FlowEndPoint (void) | |
default constructor. | |
TAO_FlowEndPoint (const char *flowname, AVStreams::protocolSpec &protocols, const char *format) | |
int | open (const char *flowname, AVStreams::protocolSpec &protocols, const char *format) |
int | set_flowname (const char *flowname) |
virtual void | set_flow_handler (const char *flowname, TAO_AV_Flow_Handler *handler) |
virtual int | set_protocol_object (const char *flowname, TAO_AV_Protocol_Object *object) |
virtual CORBA::Boolean | lock (void) |
lock the flow endpoint for a particular flow. | |
virtual void | unlock (void) |
unlock the flow endpoint for subsequent use. | |
virtual void | destroy (void) |
destroy this flow. | |
virtual AVStreams::StreamEndPoint_ptr | related_sep (void) |
virtual void | related_sep (AVStreams::StreamEndPoint_ptr related_sep) |
virtual AVStreams::FlowConnection_ptr | related_flow_connection (void) |
virtual void | related_flow_connection (AVStreams::FlowConnection_ptr related_flow_connection) |
set method for the related flow connection attribute. | |
virtual AVStreams::FlowEndPoint_ptr | get_connected_fep (void) |
returns the other flowendpoint to which this is connected. | |
virtual CORBA::Boolean | use_flow_protocol (const char *fp_name, const CORBA::Any &fp_settings) |
virtual void | set_format (const char *format) |
sets the data format. | |
virtual void | set_dev_params (const CosPropertyService::Properties &new_settings) |
sets the device parameters. | |
virtual void | set_protocol_restriction (const AVStreams::protocolSpec &the_spec) |
sets the list of protocols to be used. | |
virtual CORBA::Boolean | is_fep_compatible (AVStreams::FlowEndPoint_ptr fep) |
checks whether the passed flowendpoint is compatible with this. | |
virtual CORBA::Boolean | set_peer (AVStreams::FlowConnection_ptr the_fc, AVStreams::FlowEndPoint_ptr the_peer_fep, AVStreams::QoS &the_qos) |
sets the peer flowendpoint. | |
virtual CORBA::Boolean | set_Mcast_peer (AVStreams::FlowConnection_ptr the_fc, AVStreams::MCastConfigIf_ptr a_mcastconfigif, AVStreams::QoS &the_qos) |
sets the multicast peer flowendpoint, not implemented. | |
virtual CORBA::Boolean | connect_to_peer (AVStreams::QoS &the_qos, const char *address, const char *use_flow_protocol)=0 |
virtual CORBA::Boolean | connect_to_peer_i (TAO_FlowSpec_Entry::Role role, AVStreams::QoS &the_qos, const char *address, const char *use_flow_protocol) |
connect to the peer endpoint. | |
virtual char * | go_to_listen (AVStreams::QoS &the_qos, CORBA::Boolean is_mcast, AVStreams::FlowEndPoint_ptr peer, char *&flowProtocol)=0 |
virtual char * | go_to_listen_i (TAO_FlowSpec_Entry::Role role, AVStreams::QoS &the_qos, CORBA::Boolean is_mcast, AVStreams::FlowEndPoint_ptr peer, char *&flowProtocol) |
listen request from the peer. | |
Protected Attributes | |
AVStreams::StreamEndPoint_var | related_sep_ |
The related streamendpoint. | |
AVStreams::FlowConnection_var | related_flow_connection_ |
The related flow connection reference. | |
AVStreams::FlowEndPoint_var | peer_fep_ |
The peer flowendpoint reference. | |
AVStreams::protocolSpec | protocols_ |
Available protocols for this flowendpoint. | |
AVStreams::protocolSpec | protocol_addresses_ |
Address information for the protocols. | |
AVStreams::MCastConfigIf_var | mcast_peer_ |
The multicast peer endpoint. | |
CORBA::Boolean | lock_ |
Lock. | |
CORBA::String_var | format_ |
CORBA::String_var | flowname_ |
CosPropertyService::Properties | dev_params_ |
TAO_AV_FlowSpecSet | flow_spec_set_ |
CORBA::String_var | reverse_channel_ |
Definition at line 883 of file AVStreams_i.h.
TAO_FlowEndPoint::TAO_FlowEndPoint | ( | void | ) |
default constructor.
Definition at line 3820 of file AVStreams_i.cpp.
03821 :lock_ (0) 03822 { 03823 }
TAO_FlowEndPoint::TAO_FlowEndPoint | ( | const char * | flowname, | |
AVStreams::protocolSpec & | protocols, | |||
const char * | format | |||
) |
Definition at line 3825 of file AVStreams_i.cpp.
References open().
03828 { 03829 this->open (flowname, protocols, format); 03830 }
virtual CORBA::Boolean TAO_FlowEndPoint::connect_to_peer | ( | AVStreams::QoS & | the_qos, | |
const char * | address, | |||
const char * | use_flow_protocol | |||
) | [pure virtual] |
This should be implemented in both the FlowProducer and consumer and hence is pure virtual since we need to know the role of the flowendpoint to create appropriate protocol objects. eg. in SFP to create Producer Object/ Consumer Object.
Implemented in TAO_FlowProducer, and TAO_FlowConsumer.
CORBA::Boolean TAO_FlowEndPoint::connect_to_peer_i | ( | TAO_FlowSpec_Entry::Role | role, | |
AVStreams::QoS & | the_qos, | |||
const char * | address, | |||
const char * | use_flow_protocol | |||
) | [virtual] |
connect to the peer endpoint.
Definition at line 4225 of file AVStreams_i.cpp.
References ACE_ERROR_RETURN, ACE_NEW_RETURN, flow_spec_set_, format_, TAO_FlowSpec_Entry::get_local_addr_str(), ACE_Unbounded_Set_Ex< T, C >::insert(), ACE_Singleton< TYPE, ACE_LOCK >::instance(), LM_ERROR, TAO_AV_Connector_Registry::open(), reverse_channel_, ACE_OS::strcpy(), TAO_FlowSpec_Entry::TAO_AV_CONSUMER, and TAO_FlowSpec_Entry::TAO_AV_PRODUCER.
Referenced by TAO_FlowConsumer::connect_to_peer(), and TAO_FlowProducer::connect_to_peer().
04229 { 04230 char direction [BUFSIZ]; 04231 switch (role) 04232 { 04233 case TAO_FlowSpec_Entry::TAO_AV_PRODUCER: 04234 ACE_OS::strcpy (direction, "IN"); 04235 break; 04236 case TAO_FlowSpec_Entry::TAO_AV_CONSUMER: 04237 ACE_OS::strcpy (direction, "OUT"); 04238 break; 04239 default: 04240 break; 04241 } 04242 TAO_Forward_FlowSpec_Entry *entry; 04243 ACE_NEW_RETURN (entry, 04244 TAO_Forward_FlowSpec_Entry (this->flowname_.in (), 04245 direction, 04246 this->format_.in (), 04247 use_flow_protocol, 04248 address), 04249 0); 04250 this->flow_spec_set_.insert (entry); 04251 TAO_AV_Connector_Registry *connector_registry = TAO_AV_CORE::instance ()->connector_registry (); 04252 int result = connector_registry->open (this, 04253 TAO_AV_CORE::instance (), 04254 this->flow_spec_set_); 04255 if (result < 0) 04256 ACE_ERROR_RETURN ((LM_ERROR, "TAO_FlowEndPoint::connector_registry::open failed\n"), 0); 04257 this->reverse_channel_ = entry->get_local_addr_str (); 04258 return 1; 04259 }
void TAO_FlowEndPoint::destroy | ( | void | ) | [virtual] |
destroy this flow.
Definition at line 3908 of file AVStreams_i.cpp.
References ACE_DEBUG, TAO_AV_Core::deactivate_servant(), ACE_Unbounded_Set_Ex< T, C >::end(), flow_spec_set_, LM_DEBUG, and TAO_debug_level.
03909 { 03910 int result = TAO_AV_Core::deactivate_servant (this); 03911 if (result < 0) 03912 if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "TAO_StreamEndPoint::destroy failed\n")); 03913 TAO_AV_FlowSpecSetItor end = this->flow_spec_set_.end (); 03914 for (TAO_AV_FlowSpecSetItor begin = this->flow_spec_set_.begin (); 03915 begin != end; ++begin) 03916 (*begin)->protocol_object ()->destroy (); 03917 }
AVStreams::FlowEndPoint_ptr TAO_FlowEndPoint::get_connected_fep | ( | void | ) | [virtual] |
returns the other flowendpoint to which this is connected.
Definition at line 3946 of file AVStreams_i.cpp.
virtual char* TAO_FlowEndPoint::go_to_listen | ( | AVStreams::QoS & | the_qos, | |
CORBA::Boolean | is_mcast, | |||
AVStreams::FlowEndPoint_ptr | peer, | |||
char *& | flowProtocol | |||
) | [pure virtual] |
This should be implemented in both the FlowProducer and consumer and hence is pure virtual since we need to know the role of the flowendpoint to create appropriate protocol objects. eg. in SFP to create Producer Object/ Consumer Object.
Implemented in TAO_FlowProducer, and TAO_FlowConsumer.
char * TAO_FlowEndPoint::go_to_listen_i | ( | TAO_FlowSpec_Entry::Role | role, | |
AVStreams::QoS & | the_qos, | |||
CORBA::Boolean | is_mcast, | |||
AVStreams::FlowEndPoint_ptr | peer, | |||
char *& | flowProtocol | |||
) | [virtual] |
listen request from the peer.
Definition at line 4140 of file AVStreams_i.cpp.
References ACE_ERROR_RETURN, ACE_NEW_RETURN, flow_spec_set_, format_, ACE_Unbounded_Set_Ex< T, C >::insert(), ACE_Singleton< TYPE, ACE_LOCK >::instance(), LM_ERROR, TAO_AV_Acceptor_Registry::open(), protocol_addresses_, ACE_OS::sprintf(), ACE_OS::strcmp(), ACE_OS::strcpy(), CORBA::string_dup(), ACE_OS::strlen(), ACE_OS::strncmp(), TAO_FlowSpec_Entry::TAO_AV_CONSUMER, and TAO_FlowSpec_Entry::TAO_AV_PRODUCER.
Referenced by TAO_FlowConsumer::go_to_listen(), and TAO_FlowProducer::go_to_listen().
04145 { 04146 char direction [BUFSIZ]; 04147 switch (role) 04148 { 04149 case TAO_FlowSpec_Entry::TAO_AV_PRODUCER: 04150 ACE_OS::strcpy (direction, "IN"); 04151 break; 04152 case TAO_FlowSpec_Entry::TAO_AV_CONSUMER: 04153 ACE_OS::strcpy (direction, "OUT"); 04154 break; 04155 default: 04156 break; 04157 } 04158 AVStreams::protocolSpec my_protocol_spec, peer_protocol_spec; 04159 AVStreams::protocolSpec *temp_protocols; 04160 CORBA::Any_var AvailableProtocols_ptr = 04161 peer_fep->get_property_value ("AvailableProtocols"); 04162 AvailableProtocols_ptr.in () >>= temp_protocols; 04163 peer_protocol_spec = *temp_protocols; 04164 AvailableProtocols_ptr = 04165 this->get_property_value ("AvailableProtocols"); 04166 AvailableProtocols_ptr.in () >>= temp_protocols; 04167 my_protocol_spec = *temp_protocols; 04168 int protocol_match = 0; 04169 CORBA::String_var listen_protocol; 04170 u_int i =0; 04171 for (i=0;i<my_protocol_spec.length ();i++) 04172 { 04173 CORBA::String_var my_protocol_string; 04174 for (u_int j=0;j<peer_protocol_spec.length ();j++) 04175 { 04176 CORBA::String_var peer_protocol_string; 04177 my_protocol_string = CORBA::string_dup (my_protocol_spec[i]); 04178 peer_protocol_string = CORBA::string_dup (peer_protocol_spec[j]); 04179 if (ACE_OS::strcmp (my_protocol_string.in (), peer_protocol_string.in ()) == 0) 04180 { 04181 listen_protocol = my_protocol_string; 04182 protocol_match = 1; 04183 break; 04184 } 04185 } 04186 if (protocol_match) 04187 break; 04188 } 04189 if (!protocol_match) 04190 ACE_ERROR_RETURN ((LM_ERROR, "TAO_FlowEndPoint::go_to_listen failed: no protoocol match\n"), 0); 04191 04192 for (u_int j=0;j<this->protocol_addresses_.length ();j++) 04193 if (ACE_OS::strncmp (this->protocol_addresses_ [j], listen_protocol.in (), ACE_OS::strlen (listen_protocol.in ())) == 0) 04194 { 04195 // Now listen on that protocol. 04196 TAO_Forward_FlowSpec_Entry *entry; 04197 ACE_NEW_RETURN (entry, 04198 TAO_Forward_FlowSpec_Entry (this->flowname_.in (), 04199 direction, 04200 this->format_.in (), 04201 flowProtocol, 04202 this->protocol_addresses_ [j]), 04203 0); 04204 04205 TAO_AV_Acceptor_Registry *acceptor_registry = TAO_AV_CORE::instance ()->acceptor_registry (); 04206 this->flow_spec_set_.insert (entry); 04207 int result = acceptor_registry->open (this, 04208 TAO_AV_CORE::instance (), 04209 this->flow_spec_set_); 04210 if (result < 0) 04211 return 0; 04212 char *listen_address = entry->get_local_addr_str (); 04213 char *address; 04214 ACE_NEW_RETURN (address, 04215 char [BUFSIZ], 04216 0); 04217 ACE_OS::sprintf (address, "%s=%s", listen_protocol.in (), listen_address); 04218 return address; 04219 } 04220 return 0; 04221 }
CORBA::Boolean TAO_FlowEndPoint::is_fep_compatible | ( | AVStreams::FlowEndPoint_ptr | fep | ) | [virtual] |
checks whether the passed flowendpoint is compatible with this.
Definition at line 4044 of file AVStreams_i.cpp.
References CORBA::Exception::_tao_print_exception(), ACE_OS::strcmp(), and CORBA::string_dup().
04045 { 04046 const char *exception_message = ""; 04047 try 04048 { 04049 // check whether the passed flowendpoint is compatible with this flowendpoint. 04050 // should we check for the availableFormats and choose one format. 04051 // get my format value 04052 CORBA::Any_var format_ptr; 04053 CORBA::String_var my_format, peer_format; 04054 04055 exception_message = "TAO_FlowEndPoint::is_fep_compatible - Format"; 04056 format_ptr = this->get_property_value ("Format"); 04057 04058 const char *temp_format; 04059 format_ptr.in () >>= temp_format; 04060 my_format = CORBA::string_dup (temp_format); 04061 // get my peer's format value 04062 exception_message = "TAO_FlowEndPoint::is_fep_compatible - Format[2]"; 04063 format_ptr = peer_fep->get_property_value ("Format"); 04064 format_ptr.in () >>= temp_format; 04065 peer_format = CORBA::string_dup (temp_format); 04066 if (ACE_OS::strcmp (my_format.in (), 04067 peer_format.in ()) != 0) 04068 return 0; 04069 04070 // since formats are same, check for a common protocol 04071 CORBA::Any_var AvailableProtocols_ptr; 04072 AVStreams::protocolSpec my_protocol_spec, peer_protocol_spec; 04073 AVStreams::protocolSpec *temp_protocols;; 04074 04075 exception_message = 04076 "TAO_FlowEndPoint::is_fep_compatible - AvailableProtocols"; 04077 AvailableProtocols_ptr = this->get_property_value ("AvailableProtocols"); 04078 AvailableProtocols_ptr.in () >>= temp_protocols; 04079 my_protocol_spec = *temp_protocols; 04080 04081 exception_message = 04082 "TAO_FlowEndPoint::is_fep_compatible - AvailableProtocols[2]"; 04083 AvailableProtocols_ptr = peer_fep->get_property_value ("AvailableProtocols"); 04084 AvailableProtocols_ptr.in () >>= temp_protocols; 04085 peer_protocol_spec = *temp_protocols; 04086 04087 int protocol_match = 0; 04088 for (u_int i=0;i<my_protocol_spec.length ();i++) 04089 { 04090 CORBA::String_var my_protocol_string; 04091 for (u_int j=0;j<peer_protocol_spec.length ();j++) 04092 { 04093 CORBA::String_var peer_protocol_string; 04094 my_protocol_string = CORBA::string_dup (my_protocol_spec[i]); 04095 peer_protocol_string = CORBA::string_dup (peer_protocol_spec[j]); 04096 if (ACE_OS::strcmp (my_protocol_string.in (), peer_protocol_string.in ()) == 0) 04097 { 04098 protocol_match = 1; 04099 break; 04100 } 04101 } 04102 if (protocol_match) 04103 break; 04104 } 04105 if (!protocol_match) 04106 return 0; 04107 } 04108 catch (const CosPropertyService::PropertyNotFound& nf) 04109 { 04110 nf._tao_print_exception (exception_message); 04111 } 04112 catch (const CORBA::Exception& ex) 04113 { 04114 ex._tao_print_exception ("TAO_FlowEndPoint::is_fep_compatible"); 04115 return 0; 04116 } 04117 return 1; 04118 }
CORBA::Boolean TAO_FlowEndPoint::lock | ( | void | ) | [virtual] |
lock the flow endpoint for a particular flow.
Definition at line 3889 of file AVStreams_i.cpp.
References lock_.
03890 { 03891 // lock the current flowendpoint 03892 03893 if (this->lock_) 03894 return 0; 03895 this->lock_ = 1; 03896 return 1; 03897 }
int TAO_FlowEndPoint::open | ( | const char * | flowname, | |
AVStreams::protocolSpec & | protocols, | |||
const char * | format | |||
) |
Definition at line 3839 of file AVStreams_i.cpp.
References CORBA::Exception::_tao_print_exception(), ACE_DEBUG, flowname_, format_, LM_DEBUG, protocol_addresses_, set_format(), set_protocol_restriction(), CORBA::string_dup(), and TAO_debug_level.
Referenced by TAO_FlowConsumer::TAO_FlowConsumer(), TAO_FlowEndPoint(), and TAO_FlowProducer::TAO_FlowProducer().
03842 { 03843 this->flowname_ = flowname; 03844 this->format_ = format; 03845 03846 if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "TAO_FlowEndPoint::open\n")); 03847 try 03848 { 03849 CORBA::Any flowname_any; 03850 flowname_any <<= flowname; 03851 this->define_property ("FlowName", 03852 flowname_any); 03853 this->set_format (format); 03854 this->protocol_addresses_ = protocols; 03855 AVStreams::protocolSpec protocol_spec (protocols.length ()); 03856 protocol_spec.length (protocols.length ()); 03857 if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "%N:%l\n")); 03858 for (u_int i=0;i<protocols.length ();i++) 03859 { 03860 CORBA::String_var address = CORBA::string_dup (protocols [i]); 03861 TAO_Forward_FlowSpec_Entry entry ("", "", "", "", address.in ()); 03862 protocol_spec [i] = CORBA::string_dup (entry.carrier_protocol_str ()); 03863 if (TAO_debug_level > 0) 03864 ACE_DEBUG ((LM_DEBUG, 03865 "[%s]\n", 03866 static_cast<char const*>(protocol_spec[i]))); 03867 } 03868 this->set_protocol_restriction (protocol_spec); 03869 } 03870 catch (const CORBA::Exception& ex) 03871 { 03872 ex._tao_print_exception ("TAO_FlowEndPoint::open"); 03873 return -1; 03874 } 03875 return 0; 03876 }
void TAO_FlowEndPoint::related_flow_connection | ( | AVStreams::FlowConnection_ptr | related_flow_connection | ) | [virtual] |
set method for the related flow connection attribute.
Definition at line 3939 of file AVStreams_i.cpp.
References related_flow_connection_.
03940 { 03941 this->related_flow_connection_ = AVStreams::FlowConnection::_duplicate (related_flow_connection); 03942 }
AVStreams::FlowConnection_ptr TAO_FlowEndPoint::related_flow_connection | ( | void | ) | [virtual] |
Definition at line 3933 of file AVStreams_i.cpp.
03934 { 03935 return AVStreams::FlowConnection::_duplicate (this->related_flow_connection_.in ()); 03936 }
void TAO_FlowEndPoint::related_sep | ( | AVStreams::StreamEndPoint_ptr | related_sep | ) | [virtual] |
set method for the related streamendpoint under which this flowendpoint is.
Definition at line 3927 of file AVStreams_i.cpp.
References related_sep_.
03928 { 03929 this->related_sep_ = AVStreams::StreamEndPoint::_duplicate (related_sep); 03930 }
AVStreams::StreamEndPoint_ptr TAO_FlowEndPoint::related_sep | ( | void | ) | [virtual] |
get method for the related streamendpoint under which this flowendpoint is.
Definition at line 3920 of file AVStreams_i.cpp.
03921 { 03922 03923 return AVStreams::StreamEndPoint::_duplicate (this->related_sep_.in ()); 03924 }
void TAO_FlowEndPoint::set_dev_params | ( | const CosPropertyService::Properties & | new_settings | ) | [virtual] |
sets the device parameters.
Definition at line 3992 of file AVStreams_i.cpp.
References CORBA::Exception::_tao_print_exception(), and dev_params_.
03993 { 03994 this->dev_params_ = new_settings; 03995 try 03996 { 03997 CORBA::Any DevParams_property; 03998 DevParams_property <<= new_settings; 03999 this->define_property ("DevParams", 04000 DevParams_property); 04001 } 04002 catch (const CORBA::Exception& ex) 04003 { 04004 ex._tao_print_exception ( 04005 "TAO_FlowEndPoint::set_dev_params"); 04006 } 04007 }
void TAO_FlowEndPoint::set_flow_handler | ( | const char * | flowname, | |
TAO_AV_Flow_Handler * | handler | |||
) | [virtual] |
int TAO_FlowEndPoint::set_flowname | ( | const char * | flowname | ) |
Definition at line 3880 of file AVStreams_i.cpp.
References flowname_.
03881 { 03882 this->flowname_ = flowname; 03883 return 0; 03884 }
void TAO_FlowEndPoint::set_format | ( | const char * | format | ) | [virtual] |
sets the data format.
Definition at line 3973 of file AVStreams_i.cpp.
References CORBA::Exception::_tao_print_exception(), and format_.
Referenced by open().
03974 { 03975 this->format_ = format; 03976 try 03977 { 03978 // make this a property so that is_fep_compatible can query this and 03979 // check if 2 flowendpoints are compatible. 03980 CORBA::Any format_val; 03981 format_val <<= format; 03982 this->define_property ("Format", 03983 format_val); 03984 } 03985 catch (const CORBA::Exception& ex) 03986 { 03987 ex._tao_print_exception ("TAO_FlowEndpoint::set_format"); 03988 } 03989 }
CORBA::Boolean TAO_FlowEndPoint::set_Mcast_peer | ( | AVStreams::FlowConnection_ptr | the_fc, | |
AVStreams::MCastConfigIf_ptr | a_mcastconfigif, | |||
AVStreams::QoS & | the_qos | |||
) | [virtual] |
sets the multicast peer flowendpoint, not implemented.
Definition at line 4131 of file AVStreams_i.cpp.
References mcast_peer_.
04134 { 04135 this->mcast_peer_ = AVStreams::MCastConfigIf::_duplicate (mcast_peer); 04136 return 0; 04137 }
CORBA::Boolean TAO_FlowEndPoint::set_peer | ( | AVStreams::FlowConnection_ptr | the_fc, | |
AVStreams::FlowEndPoint_ptr | the_peer_fep, | |||
AVStreams::QoS & | the_qos | |||
) | [virtual] |
sets the peer flowendpoint.
Definition at line 4121 of file AVStreams_i.cpp.
References peer_fep_.
04124 { 04125 this->peer_fep_ = 04126 AVStreams::FlowEndPoint::_duplicate (the_peer_fep); 04127 return 1; 04128 }
int TAO_FlowEndPoint::set_protocol_object | ( | const char * | flowname, | |
TAO_AV_Protocol_Object * | object | |||
) | [virtual] |
void TAO_FlowEndPoint::set_protocol_restriction | ( | const AVStreams::protocolSpec & | the_spec | ) | [virtual] |
sets the list of protocols to be used.
Definition at line 4010 of file AVStreams_i.cpp.
References CORBA::Exception::_tao_print_exception(), ACE_DEBUG, LM_DEBUG, protocols_, and TAO_debug_level.
Referenced by open().
04011 { 04012 try 04013 { 04014 u_int i = 0; 04015 if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "%N:%l\n")); 04016 for (i=0;i<protocols.length ();i++) 04017 { 04018 const char *protocol = (protocols)[i]; 04019 if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "%s\n", protocol)); 04020 } 04021 CORBA::Any AvailableProtocols_property; 04022 AvailableProtocols_property <<= protocols; 04023 this->define_property ("AvailableProtocols", 04024 AvailableProtocols_property); 04025 AVStreams::protocolSpec *temp_spec; 04026 CORBA::Any_var temp_any = this->get_property_value ("AvailableProtocols"); 04027 temp_any.in () >>= temp_spec; 04028 if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "%N:%l\n")); 04029 for (i=0;i<temp_spec->length ();i++) 04030 { 04031 const char *protocol = (*temp_spec)[i]; 04032 if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "%s\n", protocol)); 04033 } 04034 this->protocols_ = protocols; 04035 } 04036 catch (const CORBA::Exception& ex) 04037 { 04038 ex._tao_print_exception ( 04039 "TAO_FlowEndpoint::set_protocol_restriction"); 04040 } 04041 }
void TAO_FlowEndPoint::unlock | ( | void | ) | [virtual] |
unlock the flow endpoint for subsequent use.
Definition at line 3901 of file AVStreams_i.cpp.
References lock_.
03902 { 03903 this->lock_ = 0; 03904 }
CORBA::Boolean TAO_FlowEndPoint::use_flow_protocol | ( | const char * | fp_name, | |
const CORBA::Any & | fp_settings | |||
) | [virtual] |
Definition at line 3952 of file AVStreams_i.cpp.
References CORBA::Exception::_tao_print_exception().
03954 { 03955 try 03956 { 03957 // Define the property called FlowProtocol 03958 CORBA::Any flowname_property; 03959 flowname_property <<= fp_name; 03960 this->define_property ("FlowProtocol", 03961 flowname_property); 03962 } 03963 catch (const CORBA::Exception& ex) 03964 { 03965 ex._tao_print_exception ( 03966 "TAO_FlowEndPoint::use_flow_protocol"); 03967 return 0; 03968 } 03969 return 1; 03970 }
CosPropertyService::Properties TAO_FlowEndPoint::dev_params_ [protected] |
TAO_AV_FlowSpecSet TAO_FlowEndPoint::flow_spec_set_ [protected] |
Definition at line 1024 of file AVStreams_i.h.
Referenced by TAO_FlowProducer::connect_mcast(), connect_to_peer_i(), destroy(), go_to_listen_i(), TAO_FlowConsumer::start(), TAO_FlowProducer::start(), TAO_FlowConsumer::stop(), and TAO_FlowProducer::stop().
CORBA::String_var TAO_FlowEndPoint::flowname_ [protected] |
CORBA::String_var TAO_FlowEndPoint::format_ [protected] |
Definition at line 1021 of file AVStreams_i.h.
Referenced by TAO_FlowProducer::connect_mcast(), connect_to_peer_i(), go_to_listen_i(), open(), and set_format().
CORBA::Boolean TAO_FlowEndPoint::lock_ [protected] |
AVStreams::MCastConfigIf_var TAO_FlowEndPoint::mcast_peer_ [protected] |
The multicast peer endpoint.
Definition at line 1016 of file AVStreams_i.h.
Referenced by set_Mcast_peer().
AVStreams::FlowEndPoint_var TAO_FlowEndPoint::peer_fep_ [protected] |
The peer flowendpoint reference.
Definition at line 1007 of file AVStreams_i.h.
Referenced by set_peer().
Address information for the protocols.
Definition at line 1013 of file AVStreams_i.h.
Referenced by go_to_listen_i(), and open().
AVStreams::protocolSpec TAO_FlowEndPoint::protocols_ [protected] |
Available protocols for this flowendpoint.
Definition at line 1010 of file AVStreams_i.h.
Referenced by TAO_FlowProducer::connect_mcast(), and set_protocol_restriction().
AVStreams::FlowConnection_var TAO_FlowEndPoint::related_flow_connection_ [protected] |
The related flow connection reference.
Definition at line 1004 of file AVStreams_i.h.
Referenced by related_flow_connection().
AVStreams::StreamEndPoint_var TAO_FlowEndPoint::related_sep_ [protected] |
The related streamendpoint.
Definition at line 1001 of file AVStreams_i.h.
Referenced by related_sep().
CORBA::String_var TAO_FlowEndPoint::reverse_channel_ [protected] |