diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h | 94 |
1 files changed, 81 insertions, 13 deletions
diff --git a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h index fcffee3852c..ed6a1050f3c 100644 --- a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h +++ b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h @@ -48,6 +48,10 @@ #include "FlowSpec_Entry.h" +#if defined(sun) || defined(__osf__) +extern "C" int gethostname(char* name, int len); +#endif + #define FLOWSPEC_MAX 5 // for the Hash_Map helper classes. @@ -508,18 +512,12 @@ public: virtual int get_callback (const char *flowname, TAO_AV_Callback *&callback); + virtual int get_control_callback (const char *flowname, + TAO_AV_Callback *&callback); + virtual int set_protocol_object (const char *flowname, TAO_AV_Protocol_Object *object); - virtual int set_rtcp_info (const char *flowname, - TAO_AV_SourceManager *source_manager, - TAO_AV_RTP_State *state); - - virtual int get_rtp_source (TAO_AV_Source *&source, - const char *flowname, - ACE_UINT32 srcid, - ACE_UINT32 ssrc, - ACE_UINT32 addr); virtual void set_handler (const char *flowname, TAO_AV_Flow_Handler *handler); }; @@ -697,8 +695,8 @@ protected: AVStreams::StreamEndPoint_var peer_sep_; AVStreams::SFPStatus *sfp_status_; AVStreams::StreamCtrl_var streamctrl_; - TAO_Forward_FlowSpec_Entry forward_entries_ [FLOWSPEC_MAX]; - TAO_Reverse_FlowSpec_Entry reverse_entries_ [FLOWSPEC_MAX]; +// TAO_Forward_FlowSpec_Entry forward_entries_ [FLOWSPEC_MAX]; +// TAO_Reverse_FlowSpec_Entry reverse_entries_ [FLOWSPEC_MAX]; }; @@ -1252,6 +1250,20 @@ public: ACE_THROW_SPEC ((CORBA::SystemException, AVStreams::failedToConnect, AVStreams::FPError, + AVStreams::QoSRequestFailed)) = 0; + // 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. + + virtual CORBA::Boolean connect_to_peer_i (TAO_FlowSpec_Entry::Role role, + AVStreams::QoS & the_qos, + const char * address, + const char * use_flow_protocol, + CORBA::Environment &env = + CORBA::Environment::default_environment ()) + ACE_THROW_SPEC ((CORBA::SystemException, + AVStreams::failedToConnect, + AVStreams::FPError, AVStreams::QoSRequestFailed)); // connect to the peer endpoint. @@ -1264,6 +1276,21 @@ public: ACE_THROW_SPEC ((CORBA::SystemException, AVStreams::failedToListen, AVStreams::FPError, + AVStreams::QoSRequestFailed)) = 0; + // 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. + + 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, + CORBA::Environment &env = + CORBA::Environment::default_environment ()) + ACE_THROW_SPEC ((CORBA::SystemException, + AVStreams::failedToListen, + AVStreams::FPError, AVStreams::QoSRequestFailed)); // listen request from the peer. @@ -1293,8 +1320,7 @@ protected: CORBA::String_var format_; CORBA::String_var flowname_; CosPropertyService::Properties dev_params_; - TAO_AV_Protocol_Object *protocol_object_; - TAO_AV_Flow_Handler *handler_; + TAO_AV_FlowSpecSet flow_spec_set_; CORBA::String_var reverse_channel_; }; @@ -1330,6 +1356,27 @@ public: ACE_THROW_SPEC ((CORBA::SystemException)); // start this flow, to be overridden by the application. + virtual char * go_to_listen (AVStreams::QoS & the_qos, + CORBA::Boolean is_mcast, + AVStreams::FlowEndPoint_ptr peer, + char *& flowProtocol, + CORBA::Environment &env = + CORBA::Environment::default_environment ()) + ACE_THROW_SPEC ((CORBA::SystemException, + AVStreams::failedToListen, + AVStreams::FPError, + AVStreams::QoSRequestFailed)); + + virtual CORBA::Boolean connect_to_peer (AVStreams::QoS & the_qos, + const char * address, + const char * use_flow_protocol, + CORBA::Environment &env = + CORBA::Environment::default_environment ()) + ACE_THROW_SPEC ((CORBA::SystemException, + AVStreams::failedToConnect, + AVStreams::FPError, + AVStreams::QoSRequestFailed)); + virtual char * connect_mcast (AVStreams::QoS & the_qos, CORBA::Boolean_out is_met, const char * address, @@ -1383,6 +1430,27 @@ public: CORBA::Environment::default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); // start this flow, to be overridden by the application. + + virtual char * go_to_listen (AVStreams::QoS & the_qos, + CORBA::Boolean is_mcast, + AVStreams::FlowEndPoint_ptr peer, + char *& flowProtocol, + CORBA::Environment &env = + CORBA::Environment::default_environment ()) + ACE_THROW_SPEC ((CORBA::SystemException, + AVStreams::failedToListen, + AVStreams::FPError, + AVStreams::QoSRequestFailed)); + + virtual CORBA::Boolean connect_to_peer (AVStreams::QoS & the_qos, + const char * address, + const char * use_flow_protocol, + CORBA::Environment &env = + CORBA::Environment::default_environment ()) + ACE_THROW_SPEC ((CORBA::SystemException, + AVStreams::failedToConnect, + AVStreams::FPError, + AVStreams::QoSRequestFailed)); }; |