diff options
author | naga <naga@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-05-02 00:53:31 +0000 |
---|---|---|
committer | naga <naga@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-05-02 00:53:31 +0000 |
commit | c511abf5dcea31488e2fb32e066f4fa5a994a61b (patch) | |
tree | 4064fd79981c5c10f7696756c936fcce9bbb3b04 /TAO/orbsvcs | |
parent | 32f8073a1685071035421bd3103b26870973d3fc (diff) | |
download | ATCD-c511abf5dcea31488e2fb32e066f4fa5a994a61b.tar.gz |
*** empty log message ***
Diffstat (limited to 'TAO/orbsvcs')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp | 12 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h | 8 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp | 60 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h | 26 |
4 files changed, 75 insertions, 31 deletions
diff --git a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp index eee2efa2550..7798f18313e 100644 --- a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp +++ b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp @@ -17,6 +17,14 @@ #include "orbsvcs/AV/AVStreams_i.h" // ---------------------------------------------------------------------- +// AV_Null_MediaCtrl +// ---------------------------------------------------------------------- +AV_Null_MediaCtrl::AV_Null_MediaCtrl (void) +{ +} + + +// ---------------------------------------------------------------------- // TAO_Basic_StreamCtrl // ---------------------------------------------------------------------- @@ -434,7 +442,7 @@ TAO_StreamEndPoint::~TAO_StreamEndPoint (void) TAO_Client_StreamEndPoint::TAO_Client_StreamEndPoint (void) { ACE_DEBUG ((LM_DEBUG, - "\n(%P|%t) TAO_Client_StreamEndPoint::TAO_Client_StreamEndPoint: created")); + "(%P|%t) TAO_Client_StreamEndPoint::TAO_Client_StreamEndPoint: created\n")); } CORBA::Boolean @@ -542,7 +550,7 @@ TAO_Server_StreamEndPoint::~TAO_Server_StreamEndPoint (void) TAO_VDev::TAO_VDev (void) { ACE_DEBUG ((LM_DEBUG, - "\n(%P|%t) TAO_VDev::TAO_VDev: created")); + "(%P|%t) TAO_VDev::TAO_VDev: created\n")); } // StreamCtrl will call this to give us a reference to itself, and to diff --git a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h index 7f81cf0da48..51cd804e0ad 100644 --- a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h +++ b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h @@ -26,6 +26,14 @@ #include "ace/Process.h" #include "orbsvcs/CosNamingC.h" #include "orbsvcs/AV/Endpoint_Strategy.h" +#include "orbsvcs/Null_MediaCtrlS.h" + +class TAO_ORBSVCS_Export AV_Null_MediaCtrl + : public virtual POA_Null_MediaCtrl +{ +public: + AV_Null_MediaCtrl (void); +}; class TAO_ORBSVCS_Export TAO_Basic_StreamCtrl : public virtual POA_AVStreams::Basic_StreamCtrl diff --git a/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp b/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp index e1e4a91917a..51a7751b583 100644 --- a/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp +++ b/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp @@ -318,7 +318,7 @@ TAO_AV_Endpoint_Reactive_Strategy <T_StreamEndpoint, T_VDev, T_MediaCtrl>::activ this->orb_manager_->activate_under_child_poa ("VDev", - this->vdev_, + vdev, env); TAO_CHECK_ENV_RETURN (env, -1); return 0; @@ -339,7 +339,8 @@ TAO_AV_Endpoint_Reactive_Strategy <T_StreamEndpoint, T_VDev, T_MediaCtrl>::activ TAO_CHECK_ENV_RETURN (env, -1); CORBA::Any anyval; - anyval <<= this->orb_manager_->orb ()->object_to_string (media_ctrl->_this (env)); + anyval <<= this->orb_manager_->orb ()->object_to_string (media_ctrl->_this (env), + env); TAO_CHECK_ENV_RETURN (env, -1); this->vdev_->define_property ("Related_MediaCtrl", @@ -424,7 +425,7 @@ TAO_AV_Endpoint_Reactive_Strategy_A <T_StreamEndpoint, T_VDev, T_MediaCtrl>::act TAO_CHECK_ENV_RETURN (env, -1); this->orb_manager_->activate_under_child_poa ("Stream_Endpoint_A", - this->stream_endpoint_a_, + stream_endpoint_a, env); TAO_CHECK_ENV_RETURN (env, -1); return 0; @@ -482,7 +483,7 @@ TAO_AV_Endpoint_Reactive_Strategy_B<T_StreamEndpoint, T_VDev, T_MediaCtrl>::crea template <class T_StreamEndpoint_B, class T_VDev , class T_MediaCtrl> TAO_AV_Child_Process <T_StreamEndpoint_B, T_VDev, T_MediaCtrl>::TAO_AV_Child_Process () - :stream_endpoint_name_ (0) + : stream_endpoint_name_ (0) { } @@ -533,19 +534,31 @@ TAO_AV_Child_Process <T_StreamEndpoint, T_VDev, T_MediaCtrl>::activate_objects env); TAO_CHECK_ENV_RETURN (env, -1); + ACE_NEW_RETURN (this->stream_endpoint_, + T_StreamEndpoint, + -1); + + ACE_NEW_RETURN (this->vdev_, + T_VDev, + -1); + + ACE_NEW_RETURN (this->media_ctrl_, + T_MediaCtrl, + -1); + this->orb_manager_.activate_under_child_poa ("Stream_Endpoint", - &this->stream_endpoint_, + this->stream_endpoint_, env); TAO_CHECK_ENV_RETURN (env, -1); this->orb_manager_.activate_under_child_poa ("VDev", - &this->vdev_, + this->vdev_, env); TAO_CHECK_ENV_RETURN (env, -1); this->orb_manager_.activate_under_child_poa ("MediaCtrl", - &this->media_control_, + this->media_ctrl_, env); TAO_CHECK_ENV_RETURN (env, -1); return 0; @@ -580,7 +593,8 @@ TAO_AV_Child_Process <T_StreamEndpoint, T_VDev, T_MediaCtrl>::register_vdev (CO vdev_name [0].id = CORBA::string_dup ("VDev"); CORBA::Any media_ctrl_property; - media_ctrl_property <<= this->orb_manager_.orb ()->object_to_string (this->media_ctrl_->_this (env)); + media_ctrl_property <<= this->orb_manager_.orb ()->object_to_string (this->media_ctrl_->_this (env), + env); this->vdev_->define_property ("Related_MediaCtrl", media_ctrl_property, env); @@ -588,14 +602,14 @@ TAO_AV_Child_Process <T_StreamEndpoint, T_VDev, T_MediaCtrl>::register_vdev (CO // Register the vdev with the naming server. this->naming_context_->bind (vdev_name, - this->vdev_._this (env), + this->vdev_->_this (env), env); if (env.exception () != 0) { env.clear (); this->naming_context_->rebind (vdev_name, - this->vdev_._this (env), + this->vdev_->_this (env), env); TAO_CHECK_ENV_RETURN (env, -1); } @@ -663,10 +677,6 @@ TAO_AV_Child_Process <T_StreamEndpoint_B, T_VDev, T_MediaCtrl>::release_semapho return 0; } -// ---------------------------------------------------------------------- -// TAO_AV_Child_Process_A -// ---------------------------------------------------------------------- - template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl> int TAO_AV_Child_Process <T_StreamEndpoint, T_VDev, T_MediaCtrl>::register_stream_endpoint (CORBA::Environment &env) @@ -678,23 +688,39 @@ TAO_AV_Child_Process <T_StreamEndpoint, T_VDev, T_MediaCtrl>::register_stream_e Stream_Endpoint_Name.length (1); Stream_Endpoint_Name [0].id = CORBA::string_dup (this->stream_endpoint_name_); + ACE_DEBUG ((LM_DEBUG, + "(%P|%t) The string is %s,%s\n", + this->stream_endpoint_name_, + Stream_Endpoint_Name [0])); + // Register the stream endpoint object with the naming server. this->naming_context_->bind (Stream_Endpoint_Name, - this->stream_endpoint_._this (env), + this->stream_endpoint_->_this (env), env); if (env.exception () != 0) { env.clear (); this->naming_context_->rebind (Stream_Endpoint_Name, - this->stream_endpoint_._this (env), + this->stream_endpoint_->_this (env), env); TAO_CHECK_ENV_RETURN (env, -1); } } +template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl> +TAO_AV_Child_Process <T_StreamEndpoint, T_VDev, T_MediaCtrl>::~TAO_AV_Child_Process () +{ + if (this->stream_endpoint_ != 0) + delete this->stream_endpoint_; + if (this->vdev_ != 0) + delete this->vdev_; + if (this->media_ctrl_ != 0) + delete this->media_ctrl_; +} + // ---------------------------------------------------------------------- // TAO_AV_Child_Process_A // ---------------------------------------------------------------------- @@ -706,7 +732,7 @@ TAO_AV_Child_Process_A <T_StreamEndpoint, T_VDev, T_MediaCtrl>::TAO_AV_Child_Pr } // ---------------------------------------------------------------------- -// TAO_AV_Child_Process_A +// TAO_AV_Child_Process_B // ---------------------------------------------------------------------- template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl> diff --git a/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h b/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h index 88b7ebfb1cd..6adf028f5f1 100644 --- a/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h +++ b/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h @@ -56,7 +56,7 @@ public: // ---------------------------------------------------------------------- class TAO_ORBSVCS_Export TAO_AV_Endpoint_Process_Strategy - : public virtual TAO_AV_Endpoint_Strategy + : public TAO_AV_Endpoint_Strategy // = DESCRIPTION // Process-based strategy for creating endpoints // Abstract base class. @@ -95,7 +95,7 @@ class TAO_ORBSVCS_Export TAO_AV_Endpoint_Process_Strategy // ---------------------------------------------------------------------- class TAO_ORBSVCS_Export TAO_AV_Endpoint_Process_Strategy_A - : public virtual TAO_AV_Endpoint_Process_Strategy + : public TAO_AV_Endpoint_Process_Strategy // = DESCRIPTION // Process-based strategy to create "A" type endpoints { @@ -117,7 +117,7 @@ class TAO_ORBSVCS_Export TAO_AV_Endpoint_Process_Strategy_A // ---------------------------------------------------------------------- class TAO_ORBSVCS_Export TAO_AV_Endpoint_Process_Strategy_B - : public virtual TAO_AV_Endpoint_Process_Strategy + : public TAO_AV_Endpoint_Process_Strategy // = DESCRIPTION // Process-based strategy to create "B" type endpoints { @@ -138,7 +138,7 @@ class TAO_ORBSVCS_Export TAO_AV_Endpoint_Process_Strategy_B // ---------------------------------------------------------------------- template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl> class TAO_ORBSVCS_Export TAO_AV_Endpoint_Reactive_Strategy - : public virtual TAO_AV_Endpoint_Strategy + : public TAO_AV_Endpoint_Strategy // = DESCRIPTION // Reactive strategy { @@ -148,7 +148,7 @@ class TAO_ORBSVCS_Export TAO_AV_Endpoint_Reactive_Strategy virtual int activate (void); - virtual int activate_stream_endpoint (CORBA::Environment &env); + virtual int activate_stream_endpoint (CORBA::Environment &env) = 0; virtual int activate_vdev (CORBA::Environment &env); @@ -173,7 +173,7 @@ class TAO_ORBSVCS_Export TAO_AV_Endpoint_Reactive_Strategy template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl> class TAO_ORBSVCS_Export TAO_AV_Endpoint_Reactive_Strategy_A - : public virtual TAO_AV_Endpoint_Reactive_Strategy<T_StreamEndpoint, T_VDev , T_MediaCtrl> + : public TAO_AV_Endpoint_Reactive_Strategy<T_StreamEndpoint, T_VDev , T_MediaCtrl> // = DESCRIPTION // Reactive strategy { @@ -193,7 +193,7 @@ class TAO_ORBSVCS_Export TAO_AV_Endpoint_Reactive_Strategy_A // ---------------------------------------------------------------------- template <class T_StreamEndpoint, class T_Vdev , class T_MediaCtrl> class TAO_ORBSVCS_Export TAO_AV_Endpoint_Reactive_Strategy_B - : public virtual TAO_AV_Endpoint_Reactive_Strategy + : public TAO_AV_Endpoint_Reactive_Strategy // = DESCRIPTION // Reactive strategy { @@ -216,6 +216,8 @@ class TAO_ORBSVCS_Export TAO_AV_Child_Process { public: TAO_AV_Child_Process (); + ~TAO_AV_Child_Process (); + int init (int argc, char **argv); int run (ACE_Time_Value *tv = 0); @@ -238,13 +240,13 @@ public: CosNaming::NamingContext_var naming_context_; // The root Naming Context of the TAO naming service - T_StreamEndpoint stream_endpoint_; + T_StreamEndpoint *stream_endpoint_; // The stream endpoint member - T_VDev vdev_; + T_VDev *vdev_; // The virtual device - T_MediaCtrl media_control_; + T_MediaCtrl *media_ctrl_; // Media controller }; @@ -252,7 +254,7 @@ public: template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl> class TAO_ORBSVCS_Export TAO_AV_Child_Process_A - : public virtual TAO_AV_Child_Process <T_StreamEndpoint, T_VDev, T_MediaCtrl> + : public TAO_AV_Child_Process <T_StreamEndpoint, T_VDev, T_MediaCtrl> // = DESCRIPTION // Helper class for the child process created in TAO_AV_Child_Process { @@ -265,7 +267,7 @@ public: template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl> class TAO_ORBSVCS_Export TAO_AV_Child_Process_B - : public virtual TAO_AV_Child_Process <T_StreamEndpoint, T_VDev, T_MediaCtrl> + : public TAO_AV_Child_Process <T_StreamEndpoint, T_VDev, T_MediaCtrl> // = DESCRIPTION // Helper class for the child process created in TAO_AV_Child_Process { |