#include <AVStreams_i.h>
Collaboration diagram for TAO_MMDevice:
Public Types | |
enum | MMDevice_Type { MMDEVICE_A = 0, MMDEVICE_B = 1 } |
Constructor. More... | |
Public Member Functions | |
TAO_MMDevice (TAO_AV_Endpoint_Strategy *endpoint_strategy_) | |
virtual AVStreams::StreamEndPoint_ptr | create_A_B (MMDevice_Type type, AVStreams::StreamCtrl_ptr the_requester, AVStreams::VDev_out the_vdev, AVStreams::streamQoS &the_qos, CORBA::Boolean_out met_qos, char *&named_vdev, const AVStreams::flowSpec &the_spec ACE_ENV_ARG_DECL_WITH_DEFAULTS) |
virtual AVStreams::StreamCtrl_ptr | bind (AVStreams::MMDevice_ptr peer_device, AVStreams::streamQoS &the_qos, CORBA::Boolean_out is_met, const AVStreams::flowSpec &the_spec ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::noSuchFlow, AVStreams::QoSRequestFailed) |
virtual AVStreams::StreamCtrl_ptr | bind_mcast (AVStreams::MMDevice_ptr first_peer, AVStreams::streamQoS &the_qos, CORBA::Boolean_out is_met, const AVStreams::flowSpec &the_spec ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::noSuchFlow, AVStreams::QoSRequestFailed) |
Multicast bind. | |
virtual AVStreams::StreamEndPoint_A_ptr | create_A (AVStreams::StreamCtrl_ptr the_requester, AVStreams::VDev_out the_vdev, AVStreams::streamQoS &the_qos, CORBA::Boolean_out met_qos, char *&named_vdev, const AVStreams::flowSpec &the_spec ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::streamOpDenied, AVStreams::notSupported, AVStreams::QoSRequestFailed, AVStreams::noSuchFlow) |
Called by StreamCtrl to create a "A" type streamandpoint and vdev. | |
virtual AVStreams::StreamEndPoint_B_ptr | create_B (AVStreams::StreamCtrl_ptr the_requester, AVStreams::VDev_out the_vdev, AVStreams::streamQoS &the_qos, CORBA::Boolean_out met_qos, char *&named_vdev, const AVStreams::flowSpec &the_spec ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::streamOpFailed, AVStreams::streamOpDenied, AVStreams::notSupported, AVStreams::QoSRequestFailed, AVStreams::noSuchFlow) |
Called by StreamCtrl to create a "B" type streamandpoint and vdev. | |
virtual void | destroy (AVStreams::StreamEndPoint_ptr the_ep, const char *vdev_name ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::notSupported) |
Remove the StreamEndPoint and the related vdev. | |
virtual char * | add_fdev (CORBA::Object_ptr the_fdev ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::notSupported, AVStreams::streamOpFailed) |
Not supported in the light profile, raises notsupported. | |
virtual CORBA::Object_ptr | get_fdev (const char *flow_name ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::notSupported, AVStreams::noSuchFlow) |
Not supported in the light profile, raises notsupported. | |
virtual void | remove_fdev (const char *flow_name ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, AVStreams::notSupported, AVStreams::noSuchFlow, AVStreams::streamOpFailed) |
Not supported in the light profile, raises notsupported. | |
virtual | ~TAO_MMDevice (void) |
Destructor. | |
Protected Types | |
typedef ACE_Hash_Map_Manager< ACE_CString, AVStreams::FDev_var, ACE_Null_Mutex > | FDev_Map |
typedef ACE_Hash_Map_Iterator< ACE_CString, AVStreams::FDev_var, ACE_Null_Mutex > | FDev_Map_Iterator |
typedef ACE_Hash_Map_Entry< ACE_CString, AVStreams::FDev_var > | FDev_Map_Entry |
Protected Member Functions | |
char * | add_fdev_i (AVStreams::FDev_ptr fdev ACE_ENV_ARG_DECL) throw (CORBA::SystemException, AVStreams::notSupported, AVStreams::streamOpFailed) |
Helper method to implement add_fdev(). | |
Protected Attributes | |
TAO_AV_Endpoint_Strategy * | endpoint_strategy_ |
u_int | flow_count_ |
u_int | flow_num_ |
current flow number used for system generation of flow names. | |
FDev_Map | fdev_map_ |
AVStreams::flowSpec | flows_ |
sequence of supported flow names. | |
TAO_StreamCtrl * | stream_ctrl_ |
Definition at line 894 of file AVStreams_i.h.
|
Definition at line 1018 of file AVStreams_i.h. |
|
Definition at line 1020 of file AVStreams_i.h. |
|
Definition at line 1019 of file AVStreams_i.h. |
|
Constructor.
Definition at line 902 of file AVStreams_i.h.
00902 {MMDEVICE_A = 0,MMDEVICE_B = 1}; |
|
Definition at line 3364 of file AVStreams_i.cpp.
03365 : endpoint_strategy_ (endpoint_strategy), 03366 flow_count_ (0), 03367 flow_num_ (0), 03368 stream_ctrl_ (0) 03369 { 03370 } |
|
Destructor.
Definition at line 3871 of file AVStreams_i.cpp. References stream_ctrl_.
03872 { 03873 delete this->stream_ctrl_; 03874 } |
|
Not supported in the light profile, raises notsupported.
|
|
Helper method to implement add_fdev().
Definition at line 3717 of file AVStreams_i.cpp. References ACE_ANY_EXCEPTION, ACE_CATCHANY, ACE_ENDTRY, ACE_ENV_ARG_PARAMETER, ACE_NEW_RETURN, ACE_PRINT_EXCEPTION, ACE_TRY, ACE_TRY_CHECK, and ACE_OS::sprintf().
03722 { 03723 char* tmp; 03724 ACE_NEW_RETURN (tmp, 03725 char[64], 03726 0); 03727 CORBA::String_var flow_name = tmp; 03728 03729 ACE_TRY 03730 { 03731 // exception implies the flow name is not defined and is system 03732 // generated. 03733 ACE_OS::sprintf (tmp, "flow%d", flow_num_++); 03734 CORBA::Any flowname_any; 03735 flowname_any <<= flow_name.in (); 03736 fdev->define_property ("Flow", flowname_any ACE_ENV_ARG_PARAMETER); 03737 ACE_TRY_CHECK; 03738 } 03739 ACE_CATCHANY 03740 { 03741 ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "TAO_MMDevice::add_fdev"); 03742 return 0; 03743 } 03744 ACE_ENDTRY; 03745 return flow_name._retn (); 03746 } |
|
Can be used to request the MMDevice to create a new StreamCtrl, and call bind_devs on it |
|
Multicast bind.
|
|
Called by StreamCtrl to create a "A" type streamandpoint and vdev.
|
|
|
|
Called by StreamCtrl to create a "B" type streamandpoint and vdev.
|
|
Remove the StreamEndPoint and the related vdev.
|
|
Not supported in the light profile, raises notsupported.
|
|
Not supported in the light profile, raises notsupported.
|
|
Definition at line 1009 of file AVStreams_i.h. |
|
hash table for the flownames and its corresponding flowEndpoint reference. Definition at line 1024 of file AVStreams_i.h. |
|
Count of the number of flows in this MMDevice , used to generate unique names for the flows. Definition at line 1013 of file AVStreams_i.h. |
|
current flow number used for system generation of flow names.
Definition at line 1016 of file AVStreams_i.h. |
|
sequence of supported flow names.
Definition at line 1027 of file AVStreams_i.h. |
|
Definition at line 1029 of file AVStreams_i.h. Referenced by ~TAO_MMDevice(). |