diff options
author | yamuna <yamuna@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-12-08 01:48:00 +0000 |
---|---|---|
committer | yamuna <yamuna@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-12-08 01:48:00 +0000 |
commit | 36e152729502b3e614ae9b2379cba00bc6403a94 (patch) | |
tree | a8fcf5d9d72f90fdab0bf3362f7453b3bf9ed21d | |
parent | 4117a6b459478d7f6774fbe841396f999abfdade (diff) | |
download | ATCD-36e152729502b3e614ae9b2379cba00bc6403a94.tar.gz |
*** empty log message ***
19 files changed, 502 insertions, 814 deletions
diff --git a/TAO/orbsvcs/tests/AVStreams/Full_Profile/ftp.cpp b/TAO/orbsvcs/tests/AVStreams/Full_Profile/ftp.cpp index 652d2928b89..63373d4325a 100644 --- a/TAO/orbsvcs/tests/AVStreams/Full_Profile/ftp.cpp +++ b/TAO/orbsvcs/tests/AVStreams/Full_Profile/ftp.cpp @@ -2,8 +2,8 @@ #include "ftp.h" + FTP_Client_Callback::FTP_Client_Callback (void) - // :handler_ (handler), :count_ (0) { } @@ -11,25 +11,10 @@ FTP_Client_Callback::FTP_Client_Callback (void) int FTP_Client_Callback::handle_end_stream (void) { - printf ("Within handle_end_stream\n"); TAO_AV_CORE::instance ()->stop_run (); return 0; } -/* -int -FTP_Client_Callback::handle_stop (void) -{ - ACE_DEBUG ((LM_DEBUG,"handle_timeout:End of file\n")); - AVStreams::flowSpec stop_spec (1); - ACE_DECLARE_NEW_CORBA_ENV; - CLIENT::instance ()->streamctrl ()->stop (stop_spec,ACE_TRY_ENV); - ACE_CHECK_RETURN (-1); - CLIENT::instance ()->streamctrl ()->destroy (stop_spec,ACE_TRY_ENV); - return 0; -} -*/ - void FTP_Client_Callback::get_timeout (ACE_Time_Value *&tv, void *&) @@ -45,11 +30,9 @@ FTP_Client_Callback::handle_timeout (void *) { ACE_TRY_NEW_ENV { - ACE_DEBUG ((LM_DEBUG, "Within handle_timeout\n")); ACE_Message_Block mb (BUFSIZ); - ACE_DEBUG ((LM_DEBUG,"FTP_Client_Callback::get_frame")); + ACE_DEBUG ((LM_DEBUG,"FTP_Client_Callback::handle_timeout\n")); char *buf = mb.rd_ptr (); - // cerr << "message block size" << mb.size () << endl; int n = ACE_OS::fread(buf,1,mb.size (),CLIENT::instance ()->file ()); if (n < 0) { @@ -66,13 +49,10 @@ FTP_Client_Callback::handle_timeout (void *) { ACE_DEBUG ((LM_DEBUG,"handle_timeout:End of file\n")); AVStreams::flowSpec stop_spec (1); - //ACE_DECLARE_NEW_CORBA_ENV; CLIENT::instance ()->streamctrl ()->stop (stop_spec,ACE_TRY_ENV); ACE_TRY_CHECK; CLIENT::instance ()->streamctrl ()->destroy (stop_spec,ACE_TRY_ENV); - ACE_TRY_CHECK; - TAO_AV_CORE::instance ()->stop_run (); - TAO_AV_CORE::instance ()->orb_manager ()->fini (ACE_TRY_ENV); + TAO_AV_CORE::instance ()->orb ()->shutdown (0); ACE_TRY_CHECK; return 0; } @@ -82,7 +62,6 @@ FTP_Client_Callback::handle_timeout (void *) else ACE_ERROR_RETURN ((LM_ERROR,"FTP_Client_Flow_Handler::fread error\n"),-1); } - //cerr << "read bytes = " << n << endl; mb.wr_ptr (n); int result = this->protocol_object_->send_frame (&mb); if (result < 0) @@ -197,13 +176,14 @@ Client::streamctrl (void) } Client::Client (void) - :orb_manager_ (TAO_AV_CORE::instance ()->orb_manager ()), - endpoint_strategy_ (orb_manager_), - client_mmdevice_ (&endpoint_strategy_), - fdev_ (0), - address_ (ACE_OS::strdup ("")), - fp_ (0), - protocol_ (ACE_OS::strdup ("UDP")) + : endpoint_strategy_ (TAO_AV_CORE::instance ()->orb (), TAO_AV_CORE::instance ()->poa ()), + client_mmdevice_ (&endpoint_strategy_), + fdev_ (0), + address_ (ACE_OS::strdup ("224.9.9.2:12345")), + fp_ (0), + protocol_ (ACE_OS::strdup ("UDP")), + orb_ (TAO_AV_CORE::instance ()->orb ()), + poa_ (TAO_AV_CORE::instance ()->poa ()) { } @@ -216,7 +196,7 @@ Client::bind_to_server (void) ACE_TRY { // Initialize the naming services - if (my_naming_client_.init (this->orb_manager_->orb ()) != 0) + if (my_naming_client_.init (this->orb_.in ()) != 0) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize " "the TAO_Naming_Client. \n"), @@ -242,7 +222,7 @@ Client::bind_to_server (void) } ACE_CATCHANY { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"Command_Handler::resolve_reference"); + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"Client::bind_to_server\n"); return -1; } ACE_ENDTRY; @@ -256,36 +236,26 @@ Client::init (int argc,char **argv) this->argc_ = argc; this->argv_ = argv; - // Increase the debug_level so that we can see the output - // TAO_debug_level++; CORBA::String_var ior; ACE_DECLARE_NEW_CORBA_ENV; ACE_TRY { - TAO_AV_CORE::instance ()->init (argc, - argv, - ACE_TRY_ENV); - ACE_TRY_CHECK; - this->orb_manager_ = TAO_AV_CORE::instance ()->orb_manager (); - this->orb_manager_->init_child_poa (this->argc_, - this->argv_, - "child_poa", - ACE_TRY_ENV); - ACE_TRY_CHECK; + + PortableServer::POAManager_var mgr + = TAO_AV_CORE::instance ()->poa ()->the_POAManager (); + + mgr->activate (); + this->parse_args (this->argc_, this->argv_); - // activate the client video mmdevice under the child poa. - ior = this->orb_manager_->activate (&this->client_mmdevice_, - ACE_TRY_ENV); - ACE_TRY_CHECK; - this->orb_manager_->activate_poa_manager (ACE_TRY_ENV); - ACE_TRY_CHECK; ACE_NEW_RETURN (this->fdev_, FTP_Client_FDev, -1); + ACE_NEW_RETURN (this->flowname_, char [BUFSIZ], 0); + ACE_OS::sprintf (this->flowname_, "Data"); @@ -297,19 +267,19 @@ Client::init (int argc,char **argv) mmdevice->add_fdev (fdev.in (), ACE_TRY_ENV); - // Initialize the naming services - CORBA::ORB_var orb = orb_manager_->orb (); - if (this->my_naming_client_.init (orb.in ()) != 0) + if (this->my_naming_client_.init (this->orb_.in ()) != 0) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize " "the TAO_Naming_Client. \n"), -1); this->fp_ = ACE_OS::fopen (this->filename_,"r"); + if (this->fp_ != 0) { ACE_DEBUG ((LM_DEBUG,"file opened successfully\n")); } + if (this->bind_to_server () == -1) ACE_ERROR_RETURN ((LM_ERROR, "(%P|%t) Error binding to the naming service\n"), @@ -317,7 +287,7 @@ Client::init (int argc,char **argv) } ACE_CATCHANY { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"Client::init"); + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"Client::init\n"); return -1; } ACE_ENDTRY; @@ -338,7 +308,6 @@ Client::run (void) ACE_OS::strcpy (flow_protocol_str,""); AVStreams::streamQoS_var the_qos (new AVStreams::streamQoS); AVStreams::flowSpec flow_spec (1); - // Bind the client and server mmdevices. ACE_INET_Addr addr (this->address_); TAO_Forward_FlowSpec_Entry entry (this->flowname_, @@ -352,6 +321,8 @@ Client::run (void) ACE_High_Res_Timer timer; ACE_Time_Value elapsed; timer.start (); + + // Bind the client and server mmdevices. CORBA::Boolean result = this->streamctrl_.bind_devs (this->client_mmdevice_._this (ACE_TRY_ENV), this->server_mmdevice_.in (), @@ -365,14 +336,12 @@ Client::run (void) if (result == 0) ACE_ERROR_RETURN ((LM_ERROR,"streamctrl::bind_devs failed\n"),-1); AVStreams::flowSpec start_spec (1); - // start_spec.length (1); - //start_spec [0] = CORBA::string_dup (this->flowname_); this->streamctrl_.start (start_spec,ACE_TRY_ENV); ACE_TRY_CHECK; + // Schedule a timer for the for the flow handler. - //TAO_AV_CORE::instance ()->run (); ACE_Time_Value tv (10000,0); - if (TAO_AV_CORE::instance ()->orb_manager ()->run (tv) == -1) + if (this->orb_->run (tv) == -1) ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "orb->run"), -1); ACE_DEBUG ((LM_DEBUG, "event loop finished\n")); @@ -380,7 +349,7 @@ Client::run (void) } ACE_CATCHANY { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"Client::run"); + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"Client::run\n"); return -1; } ACE_ENDTRY; @@ -392,16 +361,48 @@ int main (int argc, char **argv) { - TAO_debug_level++; - - int result = 0; - result = CLIENT::instance ()->init (argc,argv); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"client::init failed\n"),1); - result = CLIENT::instance ()->run (); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"client::run failed\n"),1); - + ACE_DECLARE_NEW_CORBA_ENV; + ACE_TRY + { + CORBA::ORB_var orb = CORBA::ORB_init (argc, + argv); + CORBA::Object_var obj + = orb->resolve_initial_references ("RootPOA"); + + PortableServer::POA_var poa + = PortableServer::POA::_narrow (obj); + + TAO_AV_CORE::instance ()->init (orb.in (), + poa.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK; + + + int result = 0; + result = CLIENT::instance ()->init (argc,argv); + if (result < 0) + ACE_ERROR_RETURN ((LM_ERROR,"client::init failed\n"),1); + result = CLIENT::instance ()->run (); + + poa->destroy (1, 1, ACE_TRY_ENV); + ACE_CHECK_RETURN (-1); + + orb->destroy (ACE_TRY_ENV); + ACE_CHECK_RETURN (-1); + + if (result < 0) + ACE_ERROR_RETURN ((LM_ERROR,"client::run failed\n"),1); + + } + ACE_CATCHANY + + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"Client Failed\n"); + return -1; + } + ACE_ENDTRY; + ACE_CHECK_RETURN (-1); + } #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) diff --git a/TAO/orbsvcs/tests/AVStreams/Full_Profile/ftp.h b/TAO/orbsvcs/tests/AVStreams/Full_Profile/ftp.h index 9823c191f5c..9e78faec32e 100644 --- a/TAO/orbsvcs/tests/AVStreams/Full_Profile/ftp.h +++ b/TAO/orbsvcs/tests/AVStreams/Full_Profile/ftp.h @@ -6,7 +6,6 @@ #include "ace/Get_Opt.h" #include "ace/High_Res_Timer.h" -#include "tao/PortableServer/ORB_Manager.h" #include "orbsvcs/Naming/Naming_Utils.h" #include "orbsvcs/AV/AVStreams_i.h" #include "orbsvcs/AV/Flows_T.h" @@ -15,7 +14,10 @@ #include "orbsvcs/AV/sfp.h" #include "orbsvcs/AV/MCast.h" +class Client; + class FTP_Client_Callback; + class FTP_Client_Producer :public virtual TAO_FlowProducer { @@ -38,11 +40,9 @@ public: virtual int handle_end_stream (void); virtual void get_timeout (ACE_Time_Value *&tv, void *&arg); - // virtual int get_frame (ACE_Message_Block *&block,TAO_AV_frame_info *&frame_info); void set_protocol_object (TAO_AV_Protocol_Object *protocol_object) {this->protocol_object_ = protocol_object;} protected: - // FTP_Client_Flow_Handler *handler_; int count_; TAO_AV_Protocol_Object *protocol_object_; }; @@ -65,7 +65,6 @@ public: private: int parse_args (int argc, char **argv); int bind_to_server (void); - TAO_ORB_Manager *orb_manager_; ENDPOINT_STRATEGY endpoint_strategy_; AVStreams::MMDevice_var server_mmdevice_; TAO_MMDevice client_mmdevice_; @@ -83,6 +82,8 @@ private: char *protocol_; char *flowname_; int use_sfp_; + CORBA::ORB_var orb_; + PortableServer::POA_ptr poa_; }; typedef ACE_Singleton<Client,ACE_Null_Mutex> CLIENT; diff --git a/TAO/orbsvcs/tests/AVStreams/Full_Profile/server.cpp b/TAO/orbsvcs/tests/AVStreams/Full_Profile/server.cpp index 095de573009..e1bbf112a42 100644 --- a/TAO/orbsvcs/tests/AVStreams/Full_Profile/server.cpp +++ b/TAO/orbsvcs/tests/AVStreams/Full_Profile/server.cpp @@ -3,7 +3,7 @@ #include "server.h" FTP_Server_FlowEndPoint::FTP_Server_FlowEndPoint (void) - :TAO_FlowConsumer ("Data",FTP_SERVER::instance ()->protocols (),FTP_SERVER::instance ()->format ()) + :TAO_FlowConsumer ("Data",FTP_SERVER::instance ()->protocols (), FTP_SERVER::instance ()->format ()) { AVStreams::protocolSpec protocols (2); protocols.length (3); @@ -19,7 +19,7 @@ FTP_Server_FlowEndPoint::FTP_Server_FlowEndPoint (void) } ACE_CATCHANY { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"FTP_Server_FlowEndPoint::FTP_Server_FlowEndPoint"); + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"FTP_Server_FlowEndPoint::FTP_Server_FlowEndPoint\n"); } ACE_ENDTRY; ACE_CHECK; @@ -29,17 +29,20 @@ int FTP_Server_FlowEndPoint::get_callback (const char *, TAO_AV_Callback *&callback) { - ACE_DEBUG ((LM_DEBUG,"FTP_Server_StreamEndPoint::get_sfp_callback\n")); ACE_NEW_RETURN (callback, FTP_Server_Callback, -1); return 0; } +FTP_Server_Callback::FTP_Server_Callback (void) +{ +} + int FTP_Server_Callback::handle_stop (void) { - ACE_DEBUG ((LM_DEBUG,"FTP_Server_Callback::stop")); + ACE_DEBUG ((LM_DEBUG,"FTP_Server_Callback::stop\n")); ACE_OS::fclose (FTP_SERVER::instance ()->file ()); return 0; } @@ -66,36 +69,15 @@ FTP_Server_Callback::receive_frame (ACE_Message_Block *frame, int FTP_Server_Callback::handle_end_stream (void) { - ACE_DEBUG ((LM_DEBUG,"FTP_SFP_Callback::end_stream\n")); - CORBA::ORB_var orb = TAO_AV_CORE::instance ()->orb_manager ()->orb (); + CORBA::ORB_var orb = TAO_AV_CORE::instance ()->orb (); orb->shutdown (); return 0; } -// FTP_Server_FDev::FTP_Server_FDev (void) -// :TAO_FDev ("Data") -// { -// } - -// AVStreams::FlowConsumer_ptr -// FTP_Server_FDev::make_consumer (AVStreams::FlowConnection_ptr the_requester, -// AVStreams::QoS & the_qos, -// CORBA::Boolean_out met_qos, -// char *& named_fdev, -// CORBA::Environment &ACE_TRY_ENV) -// { -// ACE_DEBUG ((LM_DEBUG,"FTP_Server_FDev::make_consumer")); -// FTP_Server_FlowEndPoint *endpoint; -// ACE_NEW_RETURN (endpoint, -// FTP_Server_FlowEndPoint, -// 0); -// return endpoint->_this (ACE_TRY_ENV); -// ACE_CHECK_RETURN (0); -// } - Server::Server (void) - :orb_manager_ (TAO_AV_CORE::instance ()->orb_manager ()), - reactive_strategy_ (orb_manager_) + :reactive_strategy_ (TAO_AV_CORE::instance ()->orb (), TAO_AV_CORE::instance ()->poa ()), + orb_ (TAO_AV_CORE::instance ()->orb ()), + poa_ (TAO_AV_CORE::instance ()->poa ()) { } @@ -122,39 +104,22 @@ Server::init (int argc, ACE_DECLARE_NEW_CORBA_ENV; ACE_TRY { - TAO_AV_CORE::instance ()->init (argc, - argv, - ACE_TRY_ENV); - ACE_TRY_CHECK; - this->orb_manager_ = - TAO_AV_CORE::instance ()->orb_manager (); - - // Initialize the orb_manager - this->orb_manager_->init_child_poa (argc, - argv, - "child_poa", - ACE_TRY_ENV); - ACE_TRY_CHECK; - - CORBA::ORB_var orb = - this->orb_manager_->orb (); - - PortableServer::POA_var child_poa = - this->orb_manager_->child_poa (); - + PortableServer::POAManager_var mgr + = this->poa_->the_POAManager (); + + mgr->activate (); + int result = this->parse_args (argc,argv); if (result == -1) ACE_ERROR_RETURN ((LM_ERROR,"parse args failed\n"),-1); + // Initialize the naming services - - if (my_naming_client_.init (orb.in ()) != 0) + if (my_naming_client_.init (this->orb_.in ()) != 0) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize " "the TAO_Naming_Client. \n"), -1); - this->orb_manager_->activate_poa_manager (ACE_TRY_ENV); - ACE_TRY_CHECK; // Register the video mmdevice object with the ORB ACE_NEW_RETURN (this->mmdevice_, TAO_MMDevice (&this->reactive_strategy_), @@ -163,19 +128,22 @@ Server::init (int argc, ACE_NEW_RETURN (this->fdev_, FTP_Server_FDev, -1); + this->fdev_->flowname ("Data"); - + AVStreams::MMDevice_var mmdevice = this->mmdevice_->_this (ACE_TRY_ENV); ACE_TRY_CHECK; + AVStreams::FDev_var fdev = this->fdev_->_this (ACE_TRY_ENV); ACE_TRY_CHECK; - mmdevice->add_fdev (fdev.in (), - ACE_TRY_ENV); - ACE_TRY_CHECK; - // create the video server mmdevice with the naming service pointer. - this->orb_manager_->activate_under_child_poa ("Server_MMDevice", - this->mmdevice_, - ACE_TRY_ENV); + + if (CORBA::is_nil (fdev.in ())) + cout << "FDev is nil" << endl; + + if (CORBA::is_nil (mmdevice.in ())) + cout << "MMDevice is nil" << endl; + + mmdevice->add_fdev (fdev.in (), ACE_TRY_ENV); ACE_TRY_CHECK; // Register the mmdevice with the naming service. @@ -205,12 +173,12 @@ Server::run (void) ACE_DECLARE_NEW_CORBA_ENV; ACE_TRY { - this->orb_manager_->run (ACE_TRY_ENV); + this->orb_->run (ACE_TRY_ENV); ACE_TRY_CHECK; } ACE_CATCHANY { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"server::init"); + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"server::init\n"); return -1; } ACE_ENDTRY; @@ -256,12 +224,41 @@ main (int argc, char **argv) { int result = 0; + CORBA::ORB_var orb = CORBA::ORB_init (argc, + argv); + + CORBA::Object_var obj + = orb->resolve_initial_references ("RootPOA"); + + PortableServer::POA_var poa + = PortableServer::POA::_narrow (obj); + + ACE_DECLARE_NEW_CORBA_ENV; + + ACE_TRY + { + TAO_AV_CORE::instance ()->init (orb.in (), + poa.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"server::init"); + return -1; + } + ACE_ENDTRY; + ACE_CHECK_RETURN (-1); + result = FTP_SERVER::instance ()->init (argc,argv); + if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"FTP_SERVER::init failed\n"),1); + ACE_ERROR_RETURN ((LM_ERROR,"SERVER::init failed\n"),1); + result = FTP_SERVER::instance ()->run (); + if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"FTP_SERVER::run failed\n"),1); + ACE_ERROR_RETURN ((LM_ERROR,"SERVER::run failed\n"),1); } #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) @@ -270,7 +267,7 @@ template class TAO_AV_Endpoint_Reactive_Strategy_B <TAO_StreamEndPoint_B,TAO_VDe template class TAO_AV_Endpoint_Reactive_Strategy <TAO_StreamEndPoint_B,TAO_VDev,AV_Null_MediaCtrl>; template class TAO_FDev <TAO_FlowProducer, FTP_Server_FlowEndPoint>; #elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate ACE_Singleton <Server,ACE_Null_Mutex> +s#pragma instantiate ACE_Singleton <Server,ACE_Null_Mutex> #pragma instantiate TAO_AV_Endpoint_Reactive_Strategy_B <TAO_StreamEndPoint_B,TAO_VDev,AV_Null_MediaCtrl> #pragma instantiate TAO_AV_Endpoint_Reactive_Strategy <TAO_StreamEndPoint_B,TAO_VDev,AV_Null_MediaCtrl> #pragma instantiate TAO_FDev <TAO_FlowProducer, FTP_Server_FlowEndPoint> diff --git a/TAO/orbsvcs/tests/AVStreams/Full_Profile/server.h b/TAO/orbsvcs/tests/AVStreams/Full_Profile/server.h index 38a49e75e1b..ea1d08e2826 100644 --- a/TAO/orbsvcs/tests/AVStreams/Full_Profile/server.h +++ b/TAO/orbsvcs/tests/AVStreams/Full_Profile/server.h @@ -12,10 +12,13 @@ #include "orbsvcs/AV/MCast.h" #include "orbsvcs/AV/Policy.h" +class Server; + class FTP_Server_Callback :public TAO_AV_Callback { public: + FTP_Server_Callback (void); virtual int handle_stop (void); virtual int receive_frame (ACE_Message_Block *frame, TAO_AV_frame_info *, @@ -33,20 +36,6 @@ public: }; typedef TAO_FDev <TAO_FlowProducer, FTP_Server_FlowEndPoint> FTP_Server_FDev; -// class FTP_Server_FDev -// :public TAO_FDev -// { -// public: -// FTP_Server_FDev (void); -// virtual AVStreams::FlowConsumer_ptr make_consumer (AVStreams::FlowConnection_ptr the_requester, -// AVStreams::QoS & the_qos, -// CORBA::Boolean_out met_qos, -// char *& named_fdev, -// CORBA::Environment &env = CORBA::Environment::default_environment ()); -// // bridge method for the application to override the consumer object -// // creation. Default implementation creates a TAO_FlowConsumer. - -// }; class Server { @@ -57,16 +46,21 @@ public: int run (void); FILE *file (void); AVStreams::protocolSpec protocols (void); + CORBA::ORB_ptr orb (void); + void orb (CORBA::ORB_ptr orb_in); + PortableServer::POA_ptr poa (void); + void poa (PortableServer::POA_ptr poa_in); const char *format (void); protected: int parse_args (int argc,char **argv); - TAO_ORB_Manager *orb_manager_; TAO_Naming_Client my_naming_client_; TAO_AV_Endpoint_Reactive_Strategy_B <TAO_StreamEndPoint_B,TAO_VDev,AV_Null_MediaCtrl> reactive_strategy_; TAO_MMDevice *mmdevice_; FTP_Server_FDev *fdev_; FILE *fp_; char *protocol_; + CORBA::ORB_var orb_; + PortableServer::POA_ptr poa_; }; typedef ACE_Singleton<Server,ACE_Null_Mutex> FTP_SERVER; diff --git a/TAO/orbsvcs/tests/AVStreams/Latency/control.cpp b/TAO/orbsvcs/tests/AVStreams/Latency/control.cpp index 390fab464f8..bd647f5d858 100644 --- a/TAO/orbsvcs/tests/AVStreams/Latency/control.cpp +++ b/TAO/orbsvcs/tests/AVStreams/Latency/control.cpp @@ -2,7 +2,7 @@ #include "orbsvcs/AV/AVStreams_i.h" #include "orbsvcs/AV/FlowSpec_Entry.h" -#include "tao/PortableServer/ORB_Manager.h" +#include "tao/PortableServer/PortableServer.h" #include "ace/Get_Opt.h" #include "ace/INET_Addr.h" @@ -73,32 +73,27 @@ int main (int argc, char *argv[]) { ACE_TRY_NEW_ENV { - TAO_AV_Core *av_core = TAO_AV_CORE::instance (); - av_core->init (argc, argv, ACE_TRY_ENV); - ACE_TRY_CHECK; parse_args (argc, argv); - - TAO_ORB_Manager* orb_manager = - av_core->orb_manager (); - - CORBA::ORB_var orb = orb_manager->orb (); - - CORBA::Object_var poa_object = - orb->resolve_initial_references("RootPOA", ACE_TRY_ENV); - ACE_TRY_CHECK; - - PortableServer::POA_var root_poa = - PortableServer::POA::_narrow (poa_object.in (), ACE_TRY_ENV); + CORBA::ORB_var orb = CORBA::ORB_init (argc, + argv); + + CORBA::Object_var obj + = orb->resolve_initial_references ("RootPOA"); + + PortableServer::POA_var poa + = PortableServer::POA::_narrow (obj); + + PortableServer::POAManager_var mgr + = poa->the_POAManager (); + + mgr->activate (); + + TAO_AV_CORE::instance ()->init (orb.in (), + poa.in (), + ACE_TRY_ENV); ACE_TRY_CHECK; - - PortableServer::POAManager_var poa_manager = - root_poa->the_POAManager (ACE_TRY_ENV); - ACE_TRY_CHECK; - - poa_manager->activate (ACE_TRY_ENV); - ACE_TRY_CHECK; - + // Connect the two streams and run them... AVStreams::flowSpec flow_spec (2); flow_spec.length (2); @@ -129,15 +124,13 @@ int main (int argc, char *argv[]) stream_control_impl._this (ACE_TRY_ENV); ACE_TRY_CHECK; - CORBA::Object_var obj = - orb->string_to_object (ping_ior, ACE_TRY_ENV); + obj = orb->string_to_object (ping_ior, ACE_TRY_ENV); ACE_TRY_CHECK; AVStreams::MMDevice_var ping_sender = AVStreams::MMDevice::_narrow (obj.in (), ACE_TRY_ENV); ACE_TRY_CHECK; - obj = - orb->string_to_object (pong_ior, ACE_TRY_ENV); + obj = orb->string_to_object (pong_ior, ACE_TRY_ENV); ACE_TRY_CHECK; AVStreams::MMDevice_var pong_sender = AVStreams::MMDevice::_narrow (obj.in (), ACE_TRY_ENV); @@ -166,8 +159,6 @@ int main (int argc, char *argv[]) stream_control->stop (flow_spec, ACE_TRY_ENV); ACE_TRY_CHECK; - // root_poa->destroy (1, 1, ACE_TRY_ENV); - // ACE_TRY_CHECK; } ACE_CATCHANY { diff --git a/TAO/orbsvcs/tests/AVStreams/Latency/ping.cpp b/TAO/orbsvcs/tests/AVStreams/Latency/ping.cpp index 36816a971dd..7278c67540b 100644 --- a/TAO/orbsvcs/tests/AVStreams/Latency/ping.cpp +++ b/TAO/orbsvcs/tests/AVStreams/Latency/ping.cpp @@ -3,7 +3,6 @@ #include "ping.h" #include "orbsvcs/AV/Protocol_Factory.h" #include "tao/corba.h" -#include "tao/PortableServer/ORB_Manager.h" #include "ace/Get_Opt.h" #include "ace/High_Res_Timer.h" #include "ace/Stats.h" @@ -22,8 +21,6 @@ Pong_Send_Callback pong_callback; ACE_hrtime_t recv_base = 0; ACE_Throughput_Stats recv_latency; -CORBA::ORB_ptr the_orb = 0; - int parse_args (int argc, char *argv[]) { @@ -96,40 +93,31 @@ int main (int argc, char *argv[]) { ACE_TRY_NEW_ENV { - TAO_AV_Core *av_core = TAO_AV_CORE::instance (); - av_core->init (argc, argv, ACE_TRY_ENV); - ACE_TRY_CHECK; - parse_args (argc, argv); - - TAO_ORB_Manager* orb_manager = - av_core->orb_manager (); - - CORBA::ORB_var orb = orb_manager->orb (); - the_orb = orb.in (); - // No copying, because the global variable is not used after the - // event loop finishes... - - CORBA::Object_var poa_object = - orb->resolve_initial_references("RootPOA", ACE_TRY_ENV); - ACE_TRY_CHECK; - - PortableServer::POA_var root_poa = - PortableServer::POA::_narrow (poa_object.in (), ACE_TRY_ENV); - ACE_TRY_CHECK; - - PortableServer::POAManager_var poa_manager = - root_poa->the_POAManager (ACE_TRY_ENV); + + CORBA::ORB_var orb = CORBA::ORB_init (argc, + argv); + + CORBA::Object_var obj + = orb->resolve_initial_references ("RootPOA"); + + PortableServer::POA_var poa + = PortableServer::POA::_narrow (obj); + + PortableServer::POAManager_var mgr + = poa->the_POAManager (); + + mgr->activate (); + + TAO_AV_CORE::instance ()->init (orb.in (), + poa.in (), + ACE_TRY_ENV); ACE_TRY_CHECK; - - poa_manager->activate (ACE_TRY_ENV); - ACE_TRY_CHECK; - + // Register the video mmdevice object with the ORB - Reactive_Strategy *reactive_strategy; ACE_NEW_RETURN (reactive_strategy, - Reactive_Strategy (orb_manager), + Reactive_Strategy (orb.in (), poa.in ()), 1); TAO_MMDevice *mmdevice_impl; ACE_NEW_RETURN (mmdevice_impl, @@ -191,7 +179,7 @@ int main (int argc, char *argv[]) ACE_DEBUG ((LM_DEBUG, "Calibrating scale factory . . . ")); ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor (); - ACE_DEBUG ((LM_DEBUG, "done\n")); + ACE_DEBUG ((LM_DEBUG, "done %d \n", gsf)); recv_latency.dump_results ("Receive", gsf); @@ -222,7 +210,7 @@ int Ping_Recv::get_callback (const char *, TAO_AV_Callback *&callback) { - // ACE_DEBUG ((LM_DEBUG,"Ping_Recv::get_callback\n")); + ACE_DEBUG ((LM_DEBUG,"Ping_Recv::get_callback\n")); callback = &this->callback_; return 0; } @@ -231,7 +219,7 @@ int Ping_Recv_Callback::handle_stop (void) { ACE_DEBUG ((LM_DEBUG,"Ping_Recv_Callback::stop")); - the_orb->shutdown (); + TAO_AV_CORE::instance ()->orb ()->shutdown (); return 0; } @@ -241,7 +229,7 @@ Ping_Recv_Callback::receive_frame (ACE_Message_Block *frame, TAO_AV_frame_info *, const ACE_Addr &) { - // ACE_DEBUG ((LM_DEBUG,"Ping_Recv_Callback::receive_frame\n")); + ACE_DEBUG ((LM_DEBUG,"Ping_Recv_Callback::receive_frame\n")); for (const ACE_Message_Block *i = frame; i != 0; @@ -274,7 +262,7 @@ Ping_Recv_Callback::receive_frame (ACE_Message_Block *frame, int Ping_Recv_Callback::handle_destroy (void) { - // ACE_DEBUG ((LM_DEBUG,"Ping_Recv_Callback::destroy\n")); + ACE_DEBUG ((LM_DEBUG,"Ping_Recv_Callback::destroy\n")); return 0; } @@ -291,7 +279,7 @@ int Pong_Send::get_callback (const char *, TAO_AV_Callback *&callback) { - // ACE_DEBUG ((LM_DEBUG,"Pong_Send::get_callback\n")); + ACE_DEBUG ((LM_DEBUG,"Pong_Send::get_callback\n")); callback = &pong_callback; return 0; } @@ -320,7 +308,7 @@ Pong_Send_Callback::handle_end_stream (void) int Pong_Send_Callback::send_response (ACE_hrtime_t stamp) { - // ACE_DEBUG ((LM_DEBUG, "pong send response)\n")); + ACE_DEBUG ((LM_DEBUG, "pong send response)\n")); ACE_hrtime_t buf[2]; @@ -334,7 +322,7 @@ Pong_Send_Callback::send_response (ACE_hrtime_t stamp) int result = this->protocol_object_->send_frame (&mb); if (result < 0) ACE_ERROR_RETURN ((LM_ERROR, - "FTP_Client_Flow_Handler::send - %p\n", + "Pong_Send_Callback::send - %p\n", ""), -1); diff --git a/TAO/orbsvcs/tests/AVStreams/Latency/pong.cpp b/TAO/orbsvcs/tests/AVStreams/Latency/pong.cpp index c87087ac800..ae5973d2648 100644 --- a/TAO/orbsvcs/tests/AVStreams/Latency/pong.cpp +++ b/TAO/orbsvcs/tests/AVStreams/Latency/pong.cpp @@ -3,7 +3,7 @@ #include "pong.h" #include "orbsvcs/AV/Protocol_Factory.h" #include "tao/corba.h" -#include "tao/PortableServer/ORB_Manager.h" +#include "tao/PortableServer/PortableServer.h" #include "ace/Get_Opt.h" #include "ace/High_Res_Timer.h" #include "ace/Stats.h" @@ -24,7 +24,6 @@ ACE_Throughput_Stats recv_latency; ACE_hrtime_t send_throughput_base = 0; ACE_Throughput_Stats send_latency; -CORBA::ORB_ptr the_orb = 0; int parse_args (int argc, char *argv[]) @@ -107,40 +106,31 @@ int main (int argc, char *argv[]) { ACE_TRY_NEW_ENV { - TAO_AV_Core *av_core = TAO_AV_CORE::instance (); - av_core->init (argc, argv, ACE_TRY_ENV); - ACE_TRY_CHECK; parse_args (argc, argv); - TAO_ORB_Manager* orb_manager = - av_core->orb_manager (); - - CORBA::ORB_var orb = orb_manager->orb (); - the_orb = orb.in (); - // No copying, because the global variable is not used after the - // event loop finishes... - - CORBA::Object_var poa_object = - orb->resolve_initial_references("RootPOA", ACE_TRY_ENV); + CORBA::ORB_var orb = CORBA::ORB_init (argc, + argv); + + CORBA::Object_var obj + = orb->resolve_initial_references ("RootPOA"); + + PortableServer::POA_var poa + = PortableServer::POA::_narrow (obj); + + PortableServer::POAManager_var mgr + = poa->the_POAManager (); + + mgr->activate (); + + TAO_AV_CORE::instance ()->init (orb.in (), + poa.in (), + ACE_TRY_ENV); ACE_TRY_CHECK; - - PortableServer::POA_var root_poa = - PortableServer::POA::_narrow (poa_object.in (), ACE_TRY_ENV); - ACE_TRY_CHECK; - - PortableServer::POAManager_var poa_manager = - root_poa->the_POAManager (ACE_TRY_ENV); - ACE_TRY_CHECK; - - poa_manager->activate (ACE_TRY_ENV); - ACE_TRY_CHECK; - - // Register the video mmdevice object with the ORB - + Reactive_Strategy *reactive_strategy; ACE_NEW_RETURN (reactive_strategy, - Reactive_Strategy (orb_manager), + Reactive_Strategy (orb.in (), poa.in ()), 1); TAO_MMDevice *mmdevice_impl; ACE_NEW_RETURN (mmdevice_impl, @@ -243,7 +233,7 @@ int Pong_Recv_Callback::handle_stop (void) { // ACE_DEBUG ((LM_DEBUG,"Pong_Recv_Callback::stop")); - the_orb->shutdown (); + TAO_AV_CORE::instance ()->orb ()->shutdown (); return 0; } diff --git a/TAO/orbsvcs/tests/AVStreams/Multicast/ftp.cpp b/TAO/orbsvcs/tests/AVStreams/Multicast/ftp.cpp index 30474f8f276..5948079ffa4 100644 --- a/TAO/orbsvcs/tests/AVStreams/Multicast/ftp.cpp +++ b/TAO/orbsvcs/tests/AVStreams/Multicast/ftp.cpp @@ -3,28 +3,10 @@ #include "ftp.h" FTP_Client_Callback::FTP_Client_Callback (void) - // :handler_ (handler), :count_ (0) { } -// FTP_Client_Callback::FTP_Client_Callback (FTP_Client_Flow_Handler *handler) -// :handler_ (handler) -// { -// } - -// int -// FTP_Client_Callback::handle_start (void) -// { -// return this->handler_->start (); -// } - -// int -// FTP_Client_Callback::handle_stop (void) -// { -// return this->handler_->stop (); -// } - int FTP_Client_Callback::handle_end_stream (void) { @@ -32,8 +14,7 @@ FTP_Client_Callback::handle_end_stream (void) return 0; } -FTP_Client_StreamEndPoint::FTP_Client_StreamEndPoint (TAO_ORB_Manager *orb_manager) - :orb_manager_ (orb_manager) +FTP_Client_StreamEndPoint::FTP_Client_StreamEndPoint (void) { } @@ -77,8 +58,7 @@ FTP_Client_Callback::handle_timeout (void *) ACE_TRY_CHECK; CLIENT::instance ()->streamctrl ()->destroy (stop_spec,ACE_TRY_ENV); ACE_TRY_CHECK; - //TAO_AV_CORE::instance ()->stop_run (); - TAO_AV_CORE::instance ()->orb_manager ()->fini (ACE_TRY_ENV); + TAO_AV_CORE::instance ()->orb ()->shutdown (0); ACE_TRY_CHECK; return 0; } @@ -108,13 +88,7 @@ int FTP_Client_StreamEndPoint::get_callback (const char *, TAO_AV_Callback *&callback) { -// ACE_Time_Value timeout (2); -// ACE_NEW_RETURN (this->handler_, -// FTP_Client_Flow_Handler (this->orb_manager_, -// timeout), -// -1); ACE_NEW_RETURN (this->callback_, - // FTP_Client_Callback (this->handler_), FTP_Client_Callback, -1); callback = this->callback_; @@ -125,100 +99,17 @@ int FTP_Client_StreamEndPoint::set_protocol_object (const char *flowname, TAO_AV_Protocol_Object *object) { - // int result = this->handler_->set_protocol_object (object); this->callback_->set_protocol_object (object); ACE_CString flow_string (flowname); return 0; } -// FTP_Client_Flow_Handler::FTP_Client_Flow_Handler (TAO_ORB_Manager *orb_manager, -// ACE_Time_Value &timeout) -// :orb_manager_ (orb_manager), -// count_ (0), -// protocol_object_ (0), -// timeout_ (timeout) -// { -// } - -// int -// FTP_Client_Flow_Handler::start (void) -// { -// ACE_DEBUG ((LM_DEBUG,"FTP_Client_Flow_Handler::start")); -// ACE_Time_Value delta = ACE_Time_Value::zero; -// this->timer_id_ = -// TAO_AV_CORE::instance ()->reactor ()->schedule_timer (this, -// 0, -// delta, -// this->timeout_); -// return 0; -// } -// int -// FTP_Client_Flow_Handler::stop (void) -// { -// ACE_DEBUG ((LM_DEBUG,"FTP_Client_Flow_Handler::stop")); -// int result = TAO_AV_CORE::instance ()->reactor ()->cancel_timer (this->timer_id_); -// if (result < 0) -// ACE_ERROR_RETURN ((LM_ERROR,"FTP_Client_Flow_Handler::stop cancel timer failed\n"),-1); -// return 0; -// } - -// int -// FTP_Client_Flow_Handler::set_protocol_object (TAO_AV_Protocol_Object *object) -// { -// this->protocol_object_ = object; -// return 0; -// } -// int -// FTP_Client_Flow_Handler::handle_timeout (const ACE_Time_Value &tv, -// const void *arg) -// { -// ACE_DEBUG ((LM_DEBUG,"FTP_Client_StreamEndPoint::handle_timeout")); -// ACE_Message_Block mb (BUFSIZ); -// char *buf = mb.rd_ptr (); -// cerr << "message block size" << mb.size () << endl; -// int n = ACE_OS::fread(buf,1,mb.size (),CLIENT::instance ()->file ()); -// if (n < 0) -// { -// TAO_AV_CORE::instance ()->reactor ()->cancel_timer (this->timer_id_); -// ACE_ERROR_RETURN ((LM_ERROR,"FTP_Client_Flow_Handler::fread end of file\n"),-1); -// } -// if (n == 0) -// { -// if (::feof (CLIENT::instance ()->file ())) -// { -// // wait for sometime for the data to be flushed to the other side. -// this->count_++; -// if (this->count_ == 2) -// { -// ACE_DEBUG ((LM_DEBUG,"handle_timeout:End of file\n")); -// AVStreams::flowSpec stop_spec (1); -// stop_spec.length (1); -// ACE_DECLARE_NEW_CORBA_ENV; -// stop_spec [0] = CORBA::string_dup (CLIENT::instance ()->flowname ()); -// CLIENT::instance ()->streamctrl ()->stop (stop_spec,ACE_TRY_ENV); -// ACE_CHECK_RETURN (-1); -// } -// else -// return 0; -// } -// else -// ACE_ERROR_RETURN ((LM_ERROR,"FTP_Client_Flow_Handler::fread error\n"),-1); -// } -// cerr << "read bytes = " << n << endl; -// mb.wr_ptr (n); -// int result = this->protocol_object_->send_frame (&mb); -// if (result < 0) -// ACE_ERROR_RETURN ((LM_ERROR,"send failed:%p","FTP_Client_Flow_Handler::send \n"),-1); -// ACE_DEBUG ((LM_DEBUG,"handle_timeout::buffer sent succesfully\n")); -// } - - -Endpoint_Reactive_Strategy::Endpoint_Reactive_Strategy (TAO_ORB_Manager *orb_manager, +Endpoint_Reactive_Strategy::Endpoint_Reactive_Strategy (CORBA::ORB_ptr orb_, + PortableServer::POA_ptr poa_, Client *client) - :ENDPOINT_STRATEGY (orb_manager), - client_ (client), - orb_manager_ (orb_manager) + :ENDPOINT_STRATEGY (orb_, poa_), + client_ (client) { } @@ -227,7 +118,7 @@ Endpoint_Reactive_Strategy::make_stream_endpoint (FTP_Client_StreamEndPoint *&en { ACE_DEBUG ((LM_DEBUG,"Endpoint_Reactive_Strategy::make_stream_endpoint")); ACE_NEW_RETURN (endpoint, - FTP_Client_StreamEndPoint (this->orb_manager_), + FTP_Client_StreamEndPoint, -1); return 0; } @@ -283,8 +174,7 @@ Client::streamctrl (void) } Client::Client (void) - :orb_manager_ (TAO_AV_CORE::instance ()->orb_manager ()), - endpoint_strategy_ (orb_manager_,this), + :endpoint_strategy_ (TAO_AV_CORE::instance ()->orb (), TAO_AV_CORE::instance ()->poa (),this), client_mmdevice_ (&endpoint_strategy_), address_ (ACE_OS::strdup ("224.9.9.2:10002")), fp_ (0), @@ -321,7 +211,7 @@ Client::bind_to_server (const char *name) } ACE_CATCHANY { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"Command_Handler::resolve_reference"); + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"Clinet::bind_to_server\n"); return -1; } ACE_ENDTRY; @@ -332,39 +222,28 @@ Client::bind_to_server (const char *name) int Client::init (int argc,char **argv) { + + PortableServer::POAManager_var mgr + = TAO_AV_CORE::instance ()->poa ()->the_POAManager (); + + mgr->activate (); + this->argc_ = argc; this->argv_ = argv; // Increase the debug_level so that we can see the output // TAO_debug_level++; - CORBA::String_var ior; ACE_DECLARE_NEW_CORBA_ENV; ACE_TRY { - TAO_AV_CORE::instance ()->init (argc, - argv, - ACE_TRY_ENV); - ACE_TRY_CHECK; - this->orb_manager_ = TAO_AV_CORE::instance ()->orb_manager (); - this->orb_manager_->init_child_poa (this->argc_, - this->argv_, - "child_poa", - ACE_TRY_ENV); - ACE_TRY_CHECK; this->parse_args (this->argc_, this->argv_); - // activate the client video mmdevice under the child poa. - ior = this->orb_manager_->activate (&this->client_mmdevice_, - ACE_TRY_ENV); - ACE_TRY_CHECK; - - // Initialize the naming services - CORBA::ORB_var orb = orb_manager_->orb (); - if (this->my_naming_client_.init (orb.in ()) != 0) + + if (this->my_naming_client_.init (TAO_AV_CORE::instance ()->orb ()) != 0) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize " "the TAO_Naming_Client. \n"), -1); - + this->fp_ = ACE_OS::fopen (this->filename_,"r"); if (this->fp_ != 0) { @@ -394,9 +273,7 @@ Client::run (void) ACE_OS::strcpy (flow_protocol_str,""); AVStreams::streamQoS_var the_qos (new AVStreams::streamQoS); AVStreams::flowSpec flow_spec (1); - // Bind the client and server mmdevices. - this->orb_manager_->activate_poa_manager (ACE_TRY_ENV); ACE_TRY_CHECK; ACE_INET_Addr addr (this->address_); ACE_NEW_RETURN (this->flowname_, @@ -451,7 +328,7 @@ Client::run (void) // Schedule a timer for the for the flow handler. //TAO_AV_CORE::instance ()->run (); ACE_Time_Value tv (10000,0); - if (TAO_AV_CORE::instance ()->orb_manager ()->run (tv) == -1) + if (TAO_AV_CORE::instance ()->orb ()->run (tv) == -1) ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "orb->run"), -1); ACE_DEBUG ((LM_DEBUG, "event loop finished\n")); @@ -471,14 +348,39 @@ int main (int argc, char **argv) { - int result = 0; - result = CLIENT::instance ()->init (argc,argv); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"client::init failed\n"),1); - result = CLIENT::instance ()->run (); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"client::run failed\n"),1); + ACE_DECLARE_NEW_CORBA_ENV; + ACE_TRY + { + CORBA::ORB_var orb = CORBA::ORB_init (argc, + argv); + CORBA::Object_var obj + = orb->resolve_initial_references ("RootPOA"); + + PortableServer::POA_var poa + = PortableServer::POA::_narrow (obj); + + TAO_AV_CORE::instance ()->init (orb.in (), + poa.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK; + int result = 0; + result = CLIENT::instance ()->init (argc,argv); + if (result < 0) + ACE_ERROR_RETURN ((LM_ERROR,"client::init failed\n"),1); + result = CLIENT::instance ()->run (); + if (result < 0) + ACE_ERROR_RETURN ((LM_ERROR,"client::run failed\n"),1); + } + ACE_CATCHANY + + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"Client Failed\n"); + return -1; + } + ACE_ENDTRY; + ACE_CHECK_RETURN (-1); + } #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) diff --git a/TAO/orbsvcs/tests/AVStreams/Multicast/ftp.h b/TAO/orbsvcs/tests/AVStreams/Multicast/ftp.h index 6aa63ac68a8..f5881f24dc1 100644 --- a/TAO/orbsvcs/tests/AVStreams/Multicast/ftp.h +++ b/TAO/orbsvcs/tests/AVStreams/Multicast/ftp.h @@ -5,7 +5,7 @@ #define TAO_AV_FTP_H #include "ace/Get_Opt.h" -#include "tao/PortableServer/ORB_Manager.h" +#include "tao/PortableServer/PortableServer.h" #include "orbsvcs/Naming/Naming_Utils.h" #include "orbsvcs/AV/AVStreams_i.h" #include "orbsvcs/AV/Endpoint_Strategy.h" @@ -13,33 +13,11 @@ #include "orbsvcs/AV/sfp.h" #include "orbsvcs/AV/MCast.h" -// class FTP_Client_Flow_Handler -// :public virtual ACE_Event_Handler -// { -// public: -// FTP_Client_Flow_Handler (TAO_ORB_Manager *orb_manager, -// ACE_Time_Value &timeout); -// virtual int handle_timeout (const ACE_Time_Value &tv, -// const void *arg = 0); -// virtual int start (void); -// virtual int stop (void); -// virtual int set_protocol_object (TAO_AV_Protocol_Object *object); -// protected: -// TAO_ORB_Manager *orb_manager_; -// long timer_id_; -// int count_; -// TAO_AV_Protocol_Object *protocol_object_; -// ACE_Time_Value timeout_; -// }; - class FTP_Client_Callback :public TAO_AV_Callback { public: FTP_Client_Callback (void); - // FTP_Client_Callback (FTP_Client_Flow_Handler *handler); -// virtual int handle_start (void); -// virtual int handle_stop (void); virtual int handle_end_stream (void); void set_protocol_object (TAO_AV_Protocol_Object *protocol_object) {this->protocol_object_ = protocol_object;} virtual int handle_timeout (void *arg); @@ -48,7 +26,6 @@ public: protected: int count_; - // FTP_Client_Flow_Handler *handler_; TAO_AV_Protocol_Object *protocol_object_; }; @@ -56,7 +33,7 @@ class FTP_Client_StreamEndPoint :public TAO_Client_StreamEndPoint { public: - FTP_Client_StreamEndPoint (TAO_ORB_Manager *orb_manager = 0); + FTP_Client_StreamEndPoint (void); virtual int get_callback (const char *flowname, TAO_AV_Callback *&callback); @@ -76,7 +53,8 @@ class Endpoint_Reactive_Strategy : public ENDPOINT_STRATEGY { public: - Endpoint_Reactive_Strategy (TAO_ORB_Manager *orb_manager, + Endpoint_Reactive_Strategy (CORBA::ORB_ptr orb, + PortableServer::POA_ptr poa, Client *client_ptr); // constructor . The orb manager is needed for the TAO_AV_Endpoint_Reactive_Strategy_A. diff --git a/TAO/orbsvcs/tests/AVStreams/Multicast/server.cpp b/TAO/orbsvcs/tests/AVStreams/Multicast/server.cpp index 88d41716f87..a45e3a5093e 100644 --- a/TAO/orbsvcs/tests/AVStreams/Multicast/server.cpp +++ b/TAO/orbsvcs/tests/AVStreams/Multicast/server.cpp @@ -11,7 +11,7 @@ int FTP_Server_StreamEndPoint::get_callback (const char *, TAO_AV_Callback *&callback) { - ACE_DEBUG ((LM_DEBUG,"FTP_Server_StreamEndPoint::get_sfp_callback\n")); + ACE_DEBUG ((LM_DEBUG,"FTP_Server_StreamEndPoint::get_callback\n")); ACE_NEW_RETURN (callback, FTP_Server_Callback, -1); @@ -49,14 +49,14 @@ int FTP_Server_Callback::handle_end_stream (void) { ACE_DEBUG ((LM_DEBUG,"FTP_SFP_Callback::end_stream\n")); - CORBA::ORB_var orb = TAO_AV_CORE::instance ()->orb_manager ()->orb (); + CORBA::ORB_var orb = TAO_AV_CORE::instance ()->orb (); orb->shutdown (); return 0; } Server::Server (void) - :orb_manager_ (TAO_AV_CORE::instance ()->orb_manager ()), - reactive_strategy_ (orb_manager_) + : reactive_strategy_ (TAO_AV_CORE::instance ()->orb (), + TAO_AV_CORE::instance ()->poa ()) { } @@ -67,33 +67,18 @@ Server::init (int argc, ACE_DECLARE_NEW_CORBA_ENV; ACE_TRY { - TAO_AV_CORE::instance ()->init (argc, - argv, - ACE_TRY_ENV); - ACE_TRY_CHECK; - this->orb_manager_ = - TAO_AV_CORE::instance ()->orb_manager (); - - // Initialize the orb_manager - this->orb_manager_->init_child_poa (argc, - argv, - "child_poa", - ACE_TRY_ENV); - ACE_TRY_CHECK; - - CORBA::ORB_var orb = - this->orb_manager_->orb (); - - PortableServer::POA_var child_poa = - this->orb_manager_->child_poa (); - + PortableServer::POAManager_var mgr + = TAO_AV_CORE::instance ()->poa ()->the_POAManager (); + + mgr->activate (); + int result = this->parse_args (argc,argv); if (result == -1) ACE_ERROR_RETURN ((LM_ERROR,"parse args failed\n"),-1); // Initialize the naming services - if (my_naming_client_.init (orb.in ()) != 0) + if (my_naming_client_.init (TAO_AV_CORE::instance ()->orb ()) != 0) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize " "the TAO_Naming_Client. \n"), @@ -103,11 +88,6 @@ Server::init (int argc, ACE_NEW_RETURN (this->mmdevice_, TAO_MMDevice (&this->reactive_strategy_), -1); - // create the video server mmdevice with the naming service pointer. - this->orb_manager_->activate_under_child_poa ("Server_MMDevice", - this->mmdevice_, - ACE_TRY_ENV); - ACE_TRY_CHECK; // Register the mmdevice with the naming service. CosNaming::Name server_mmdevice_name (1); @@ -149,7 +129,7 @@ Server::run (void) ACE_DECLARE_NEW_CORBA_ENV; ACE_TRY { - this->orb_manager_->run (ACE_TRY_ENV); + TAO_AV_CORE::instance ()->orb ()->run (ACE_TRY_ENV); ACE_TRY_CHECK; } ACE_CATCHANY @@ -200,6 +180,32 @@ main (int argc, char **argv) { int result = 0; + CORBA::ORB_var orb = CORBA::ORB_init (argc, + argv); + + CORBA::Object_var obj + = orb->resolve_initial_references ("RootPOA"); + + PortableServer::POA_var poa + = PortableServer::POA::_narrow (obj); + + ACE_DECLARE_NEW_CORBA_ENV; + + ACE_TRY + { + TAO_AV_CORE::instance ()->init (orb.in (), + poa.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"server::init"); + return -1; + } + ACE_ENDTRY; + ACE_CHECK_RETURN (-1); + result = FTP_SERVER::instance ()->init (argc,argv); if (result < 0) ACE_ERROR_RETURN ((LM_ERROR,"FTP_SERVER::init failed\n"),1); diff --git a/TAO/orbsvcs/tests/AVStreams/Multicast/server.h b/TAO/orbsvcs/tests/AVStreams/Multicast/server.h index a6f95edbff5..d38bec90ee5 100644 --- a/TAO/orbsvcs/tests/AVStreams/Multicast/server.h +++ b/TAO/orbsvcs/tests/AVStreams/Multicast/server.h @@ -2,7 +2,6 @@ // $Id$ #include "ace/Get_Opt.h" -#include "tao/PortableServer/ORB_Manager.h" #include "orbsvcs/orbsvcs/CosNamingC.h" #include "orbsvcs/Naming/Naming_Utils.h" #include "orbsvcs/AV/AVStreams_i.h" @@ -42,7 +41,6 @@ public: FILE *file (void); protected: int parse_args (int argc,char **argv); - TAO_ORB_Manager *orb_manager_; TAO_Naming_Client my_naming_client_; TAO_AV_Endpoint_Reactive_Strategy_B <FTP_Server_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl> reactive_strategy_; TAO_MMDevice *mmdevice_; diff --git a/TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.cpp b/TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.cpp index 6dc6afcbf2b..bf22c1411e7 100644 --- a/TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.cpp +++ b/TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.cpp @@ -2,145 +2,7 @@ #include "ftp.h" -// FTP_Client_Callback::FTP_Client_Callback (FTP_Client_Flow_Handler *handler) -// :handler_ (handler) -// { -// } - -// int -// FTP_Client_Callback::handle_start (void) -// { -// ACE_DEBUG ((LM_DEBUG,"FTP_Client_Callback::handle_start")); -// return this->handler_->start (); -// } - -// int -// FTP_Client_Callback::handle_stop (void) -// { -// ACE_DEBUG ((LM_DEBUG,"FTP_Client_Callback::handle_stop")); -// return this->handler_->stop (); -// } - - -// FTP_Client_Flow_Handler::FTP_Client_Flow_Handler (TAO_ORB_Manager *orb_manager, -// ACE_Time_Value &timeout) -// :TAO_FlowProducer ("Data",CLIENT::instance ()->protocols (),CLIENT::instance ()->format ()), -// orb_manager_ (orb_manager), -// count_ (0), -// timeout_ (timeout) -// { -// } - -// int -// FTP_Client_Flow_Handler::get_callback (const char *flowname, -// TAO_AV_Callback *&callback) -// { -// ACE_DEBUG ((LM_DEBUG,"FTP_Client_Flow_Handler::get_callback\n")); -// ACE_NEW_RETURN (callback, -// FTP_Client_Callback (this), -// -1); -// return 0; -// } - -// int -// FTP_Client_Flow_Handler::start (void) -// { -// ACE_DEBUG ((LM_DEBUG,"FTP_Client_Flow_Handler::start")); -// ACE_Time_Value delta = ACE_Time_Value::zero; -// this->timer_id_ = -// TAO_AV_CORE::instance ()->reactor ()->schedule_timer (this, -// 0, -// delta, -// this->timeout_); -// return 0; -// } - -// int -// FTP_Client_Flow_Handler::stop (void) -// { -// ACE_DEBUG ((LM_DEBUG,"FTP_Client_Flow_Handler::stop")); -// int result = TAO_AV_CORE::instance ()->reactor ()->cancel_timer (this->timer_id_); -// if (result < 0) -// ACE_ERROR_RETURN ((LM_ERROR,"FTP_Client_Flow_Handler::stop cancel timer failed\n"),-1); -// return 0; -// } - -// int -// FTP_Client_Flow_Handler::handle_timeout (const ACE_Time_Value &tv, -// const void *arg) -// { -// ACE_DEBUG ((LM_DEBUG,"FTP_Client_StreamEndPoint::handle_timeout")); -// ACE_Message_Block mb (BUFSIZ); -// char *buf = mb.rd_ptr (); -// cerr << "message block size" << mb.size () << endl; -// int n = ACE_OS::fread(buf,1,mb.size (),CLIENT::instance ()->file ()); -// if (n < 0) -// { -// TAO_AV_CORE::instance ()->reactor ()->cancel_timer (this->timer_id_); -// ACE_ERROR_RETURN ((LM_ERROR,"FTP_Client_Flow_Handler::fread end of file\n"),-1); -// } -// if (n == 0) -// { -// if (feof (CLIENT::instance ()->file ())) -// { -// // wait for sometime for the data to be flushed to the other side. -// this->count_++; -// if (this->count_ == 2) -// { -// ACE_DECLARE_NEW_CORBA_ENV; -// ACE_DEBUG ((LM_DEBUG,"handle_timeout:End of file\n")); -// AVStreams::flowSpec stop_spec (1); -// // stop_spec.length (1); -// // stop_spec [0] = CORBA::string_dup (CLIENT::instance ()->flowname ()); -// CLIENT::instance ()->streamctrl ()->stop (stop_spec,ACE_TRY_ENV); -// ACE_CHECK_RETURN (-1); -// return 0; -// } -// else -// return 0; -// } -// else -// ACE_ERROR_RETURN ((LM_ERROR,"FTP_Client_Flow_Handler::fread error\n"),-1); -// } -// cerr << "read bytes = " << n << endl; -// mb.wr_ptr (n); -// int result = this->protocol_object_->send_frame (&mb); -// if (result < 0) -// ACE_ERROR_RETURN ((LM_ERROR,"send failed:%p","FTP_Client_Flow_Handler::send \n"),-1); -// ACE_DEBUG ((LM_DEBUG,"handle_timeout::buffer sent succesfully\n")); -// } - -//------------------------------------------------------------ -// FTP_Client_FDev -//------------------------------------------------------------ - -// FTP_Client_FDev::FTP_Client_FDev (TAO_ORB_Manager *orb_manager) -// :TAO_FDev (CORBA::string_dup ("Data")), -// orb_manager_ (orb_manager) -// { -// } - -// AVStreams::FlowProducer_ptr -// FTP_Client_FDev::make_producer (AVStreams::FlowConnection_ptr the_requester, -// AVStreams::QoS & the_qos, -// CORBA::Boolean_out met_qos, -// char *& named_fdev, -// CORBA::Environment &ACE_TRY_ENV) -// { -// ACE_DEBUG ((LM_DEBUG,"FTP_Client_FDev::make_producer\n")); -// FTP_Client_Flow_Handler *handler; -// ACE_Time_Value timeout (2); -// ACE_NEW_RETURN (handler, -// FTP_Client_Flow_Handler (this->orb_manager_, -// timeout), -// 0); -// AVStreams::FlowProducer_ptr producer = handler->_this (ACE_TRY_ENV); -// ACE_CHECK_RETURN (0); -// return producer; -// } - FTP_Client_Callback::FTP_Client_Callback (void) - // :handler_ (handler), :count_ (0) { } @@ -168,7 +30,6 @@ FTP_Client_Callback::handle_timeout (void *) ACE_Message_Block mb (BUFSIZ); ACE_DEBUG ((LM_DEBUG,"FTP_Client_Callback::get_frame")); char *buf = mb.rd_ptr (); - //cerr << "message block size" << mb.size () << endl; int n = ACE_OS::fread(buf,1,mb.size (),CLIENT::instance ()->file ()); if (n < 0) { @@ -191,8 +52,7 @@ FTP_Client_Callback::handle_timeout (void *) ACE_TRY_CHECK; CLIENT::instance ()->streamctrl ()->destroy (stop_spec,ACE_TRY_ENV); ACE_TRY_CHECK; - //TAO_AV_CORE::instance ()->stop_run (); - TAO_AV_CORE::instance ()->orb_manager ()->fini (ACE_TRY_ENV); + TAO_AV_CORE::instance ()->orb ()->shutdown (0); ACE_TRY_CHECK; return 0; } @@ -209,7 +69,6 @@ FTP_Client_Callback::handle_timeout (void *) else ACE_ERROR_RETURN ((LM_ERROR,"FTP_Client_Flow_Handler::fread error\n"),-1); } - //cerr << "read bytes = " << n << endl; mb.wr_ptr (n); int result = this->protocol_object_->send_frame (&mb); if (result < 0) @@ -321,13 +180,12 @@ Client::streamctrl (void) } Client::Client (void) - :orb_manager_ (TAO_AV_CORE::instance ()->orb_manager ()), - endpoint_strategy_ (orb_manager_), - client_mmdevice_ (&endpoint_strategy_), - fdev_ (0), - address_ (ACE_OS::strdup ("224.9.9.2:10002")), - fp_ (0), - protocol_ (ACE_OS::strdup ("UDP")) + : endpoint_strategy_ (TAO_AV_CORE::instance ()->orb (), TAO_AV_CORE::instance ()->poa ()), + client_mmdevice_ (&endpoint_strategy_), + fdev_ (0), + address_ (ACE_OS::strdup ("224.9.9.2:10002")), + fp_ (0), + protocol_ (ACE_OS::strdup ("UDP")) { } @@ -340,7 +198,7 @@ Client::bind_to_server (const char *name) ACE_TRY { // Initialize the naming services - if (my_naming_client_.init (this->orb_manager_->orb ()) != 0) + if (my_naming_client_.init (TAO_AV_CORE::instance ()->orb ()) != 0) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize " "the TAO_Naming_Client. \n"), @@ -380,32 +238,17 @@ Client::init (int argc,char **argv) this->argc_ = argc; this->argv_ = argv; - // Increase the debug_level so that we can see the output - // TAO_debug_level++; - CORBA::String_var ior; ACE_DECLARE_NEW_CORBA_ENV; ACE_TRY { - TAO_AV_CORE::instance ()->init (argc, - argv, - ACE_TRY_ENV); - ACE_TRY_CHECK; - this->orb_manager_ = TAO_AV_CORE::instance ()->orb_manager (); - this->orb_manager_->init_child_poa (this->argc_, - this->argv_, - "child_poa", - ACE_TRY_ENV); - ACE_TRY_CHECK; + PortableServer::POAManager_var mgr + = TAO_AV_CORE::instance ()->poa ()->the_POAManager (); + + mgr->activate (); + this->parse_args (this->argc_, this->argv_); - // activate the client video mmdevice under the child poa. - ior = this->orb_manager_->activate (&this->client_mmdevice_, - ACE_TRY_ENV); - ACE_TRY_CHECK; - this->orb_manager_->activate_poa_manager (ACE_TRY_ENV); - ACE_TRY_CHECK; ACE_NEW_RETURN (this->fdev_, - // FTP_Client_FDev (this->orb_manager_), FTP_Client_FDev, -1); @@ -422,9 +265,7 @@ Client::init (int argc,char **argv) mmdevice->add_fdev (fdev.in (), ACE_TRY_ENV); - // Initialize the naming services - CORBA::ORB_var orb = orb_manager_->orb (); - if (this->my_naming_client_.init (orb.in ()) != 0) + if (this->my_naming_client_.init (TAO_AV_CORE::instance ()->orb ()) != 0) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize " "the TAO_Naming_Client. \n"), @@ -512,7 +353,7 @@ Client::run (void) //TAO_AV_CORE::instance ()->run (); ACE_Time_Value tv (10000,0); - if (TAO_AV_CORE::instance ()->orb_manager ()->run (tv) == -1) + if (TAO_AV_CORE::instance ()->orb ()->run (tv) == -1) ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "orb->run"), -1); ACE_DEBUG ((LM_DEBUG, "event loop finished\n")); @@ -532,6 +373,32 @@ int main (int argc, char *argv[]) { + CORBA::ORB_var orb = CORBA::ORB_init (argc, + argv); + + CORBA::Object_var obj + = orb->resolve_initial_references ("RootPOA"); + + PortableServer::POA_var poa + = PortableServer::POA::_narrow (obj); + + ACE_DECLARE_NEW_CORBA_ENV; + + ACE_TRY + { + TAO_AV_CORE::instance ()->init (orb.in (), + poa.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"server::init"); + return -1; + } + ACE_ENDTRY; + ACE_CHECK_RETURN (-1); + int result = 0; result = CLIENT::instance ()->init (argc,argv); if (result < 0) @@ -539,7 +406,7 @@ main (int argc, result = CLIENT::instance ()->run (); if (result < 0) ACE_ERROR_RETURN ((LM_ERROR,"client::run failed\n"),1); - + } #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) diff --git a/TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.h b/TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.h index 7cc5eaee749..408ca2e5d09 100644 --- a/TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.h +++ b/TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.h @@ -5,7 +5,7 @@ #define TAO_AV_FTP_H #include "ace/Get_Opt.h" -#include "tao/PortableServer/ORB_Manager.h" +#include "tao/PortableServer/PortableServer.h" #include "orbsvcs/Naming/Naming_Utils.h" #include "orbsvcs/AV/AVStreams_i.h" #include "orbsvcs/AV/Flows_T.h" @@ -13,37 +13,6 @@ #include "orbsvcs/AV/sfp.h" #include "orbsvcs/AV/MCast.h" -// class FTP_Client_Flow_Handler -// // :public virtual ACE_Event_Handler, -// public virtual TAO_FlowProducer -// { -// public: -// FTP_Client_Flow_Handler (TAO_ORB_Manager *orb_manager, -// ACE_Time_Value &timeout); -// virtual int handle_timeout (const ACE_Time_Value &tv, -// const void *arg = 0); -// virtual int start (void); -// virtual int stop (void); -// virtual int get_callback (const char *flowname, -// TAO_AV_Callback *&callback); -// protected: -// TAO_ORB_Manager *orb_manager_; -// long timer_id_; -// int count_; -// ACE_Time_Value timeout_; -// }; - -// class FTP_Client_Callback -// :public TAO_AV_Callback -// { -// public: -// FTP_Client_Callback (FTP_Client_Flow_Handler *handler); -// virtual int handle_start (void); -// virtual int handle_stop (void); -// protected: -// FTP_Client_Flow_Handler *handler_; -// }; - class FTP_Client_Callback; class FTP_Client_Producer :public virtual TAO_FlowProducer @@ -76,19 +45,6 @@ protected: TAO_AV_Protocol_Object *protocol_object_; }; -// class FTP_Client_FDev -// :public TAO_FDev -// { -// public: -// FTP_Client_FDev (TAO_ORB_Manager *orb_manger); -// virtual AVStreams::FlowProducer_ptr make_producer (AVStreams::FlowConnection_ptr the_requester, -// AVStreams::QoS & the_qos, -// CORBA::Boolean_out met_qos, -// char *& named_fdev, -// CORBA::Environment &env = CORBA::Environment::default_environment ()); -// protected: -// TAO_ORB_Manager *orb_manager_; -// }; typedef TAO_AV_Endpoint_Reactive_Strategy_A<TAO_StreamEndPoint_A,TAO_VDev,AV_Null_MediaCtrl> ENDPOINT_STRATEGY; @@ -108,7 +64,6 @@ public: private: int parse_args (int argc, char **argv); int bind_to_server (const char *name); - TAO_ORB_Manager *orb_manager_; ENDPOINT_STRATEGY endpoint_strategy_; AVStreams::MMDevice_var server_mmdevice_; TAO_MMDevice client_mmdevice_; diff --git a/TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.cpp b/TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.cpp index fe310ff6553..6efbc1d9141 100644 --- a/TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.cpp +++ b/TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.cpp @@ -66,7 +66,7 @@ int FTP_Server_Callback::handle_end_stream (void) { ACE_DEBUG ((LM_DEBUG,"FTP_SFP_Callback::end_stream\n")); - CORBA::ORB_var orb = TAO_AV_CORE::instance ()->orb_manager ()->orb (); + CORBA::ORB_var orb = TAO_AV_CORE::instance ()->orb (); orb->shutdown (); return 0; } @@ -93,8 +93,8 @@ FTP_Server_Callback::handle_end_stream (void) // } Server::Server (void) - :orb_manager_ (TAO_AV_CORE::instance ()->orb_manager ()), - reactive_strategy_ (orb_manager_) + : reactive_strategy_ (TAO_AV_CORE::instance ()->orb (), + TAO_AV_CORE::instance ()->poa ()) { } @@ -121,39 +121,23 @@ Server::init (int argc, ACE_DECLARE_NEW_CORBA_ENV; ACE_TRY { - TAO_AV_CORE::instance ()->init (argc, - argv, - ACE_TRY_ENV); - ACE_TRY_CHECK; - this->orb_manager_ = - TAO_AV_CORE::instance ()->orb_manager (); - - // Initialize the orb_manager - this->orb_manager_->init_child_poa (argc, - argv, - "child_poa", - ACE_TRY_ENV); - ACE_TRY_CHECK; - - CORBA::ORB_var orb = - this->orb_manager_->orb (); - - PortableServer::POA_var child_poa = - this->orb_manager_->child_poa (); + PortableServer::POAManager_var mgr + = TAO_AV_CORE::instance ()->poa ()->the_POAManager (); + + mgr->activate (); + int result = this->parse_args (argc,argv); if (result == -1) ACE_ERROR_RETURN ((LM_ERROR,"parse args failed\n"),-1); // Initialize the naming services - if (my_naming_client_.init (orb.in ()) != 0) + if (my_naming_client_.init (TAO_AV_CORE::instance ()->orb ()) != 0) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize " "the TAO_Naming_Client. \n"), -1); - this->orb_manager_->activate_poa_manager (ACE_TRY_ENV); - ACE_TRY_CHECK; // Register the video mmdevice object with the ORB ACE_NEW_RETURN (this->mmdevice_, TAO_MMDevice (&this->reactive_strategy_), @@ -170,11 +154,7 @@ Server::init (int argc, mmdevice->add_fdev (fdev.in (), ACE_TRY_ENV); ACE_TRY_CHECK; - // create the video server mmdevice with the naming service pointer. - this->orb_manager_->activate_under_child_poa ("Server_MMDevice", - this->mmdevice_, - ACE_TRY_ENV); - ACE_TRY_CHECK; + // Register the mmdevice with the naming service. CosNaming::Name server_mmdevice_name (1); server_mmdevice_name.length (1); @@ -214,7 +194,7 @@ Server::run (void) ACE_DECLARE_NEW_CORBA_ENV; ACE_TRY { - this->orb_manager_->run (ACE_TRY_ENV); + TAO_AV_CORE::instance ()->orb ()->run (ACE_TRY_ENV); ACE_TRY_CHECK; } ACE_CATCHANY @@ -265,6 +245,33 @@ int main (int argc, char **argv) { + + CORBA::ORB_var orb = CORBA::ORB_init (argc, + argv); + + CORBA::Object_var obj + = orb->resolve_initial_references ("RootPOA"); + + PortableServer::POA_var poa + = PortableServer::POA::_narrow (obj); + + ACE_DECLARE_NEW_CORBA_ENV; + + ACE_TRY + { + TAO_AV_CORE::instance ()->init (orb.in (), + poa.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"server::init"); + return -1; + } + ACE_ENDTRY; + ACE_CHECK_RETURN (-1); + int result = 0; result = FTP_SERVER::instance ()->init (argc,argv); if (result < 0) diff --git a/TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.h b/TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.h index daae099a800..74c5b78db9f 100644 --- a/TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.h +++ b/TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.h @@ -2,7 +2,6 @@ // $Id$ #include "ace/Get_Opt.h" -#include "tao/PortableServer/ORB_Manager.h" #include "orbsvcs/Naming/Naming_Utils.h" #include "orbsvcs/AV/AVStreams_i.h" #include "orbsvcs/AV/Endpoint_Strategy.h" @@ -60,7 +59,6 @@ public: const char *format (void); protected: int parse_args (int argc,char **argv); - TAO_ORB_Manager *orb_manager_; TAO_Naming_Client my_naming_client_; TAO_AV_Endpoint_Reactive_Strategy_B <TAO_StreamEndPoint_B,TAO_VDev,AV_Null_MediaCtrl> reactive_strategy_; TAO_MMDevice *mmdevice_; diff --git a/TAO/orbsvcs/tests/AVStreams/Pluggable/ftp.cpp b/TAO/orbsvcs/tests/AVStreams/Pluggable/ftp.cpp index 7dade97c23c..a670b204c72 100644 --- a/TAO/orbsvcs/tests/AVStreams/Pluggable/ftp.cpp +++ b/TAO/orbsvcs/tests/AVStreams/Pluggable/ftp.cpp @@ -54,7 +54,8 @@ FTP_Client_Callback::handle_timeout (void *) CLIENT::instance ()->streamctrl ()->stop (stop_spec,ACE_TRY_ENV); ACE_CHECK_RETURN (-1); CLIENT::instance ()->streamctrl ()->destroy (stop_spec,ACE_TRY_ENV); - TAO_AV_CORE::instance ()->stop_run (); + //TAO_AV_CORE::instance ()->stop_run (); + TAO_AV_CORE::instance ()->orb ()->shutdown (0); return 0; } ACE_hrtime_t stamp = ACE_OS::gethrtime (); @@ -106,10 +107,8 @@ FTP_Client_Callback::handle_timeout (void *) return 0; } -FTP_Client_StreamEndPoint::FTP_Client_StreamEndPoint (TAO_ORB_Manager *orb_manager) - :orb_manager_ (orb_manager) +FTP_Client_StreamEndPoint::FTP_Client_StreamEndPoint (void) { - } int @@ -131,11 +130,9 @@ FTP_Client_StreamEndPoint::set_protocol_object (const char *, return 0; } -Endpoint_Reactive_Strategy::Endpoint_Reactive_Strategy (TAO_ORB_Manager *orb_manager, - Client *client) - :ENDPOINT_STRATEGY (orb_manager), - client_ (client), - orb_manager_ (orb_manager) +Endpoint_Reactive_Strategy::Endpoint_Reactive_Strategy (Client *client) + :ENDPOINT_STRATEGY (TAO_AV_CORE::instance ()->orb (), TAO_AV_CORE::instance ()->poa ()), + client_ (client) { } @@ -144,7 +141,7 @@ Endpoint_Reactive_Strategy::make_stream_endpoint (FTP_Client_StreamEndPoint *&en { ACE_DEBUG ((LM_DEBUG,"Endpoint_Reactive_Strategy::make_stream_endpoint")); ACE_NEW_RETURN (endpoint, - FTP_Client_StreamEndPoint (this->orb_manager_), + FTP_Client_StreamEndPoint, -1); return 0; } @@ -206,11 +203,11 @@ Client::streamctrl (void) } Client::Client (void) - :orb_manager_ (TAO_AV_CORE::instance ()->orb_manager ()), - endpoint_strategy_ (orb_manager_,this), - client_mmdevice_ (&endpoint_strategy_), - fp_ (0), - protocol_ (ACE_OS::strdup ("UDP")) + : endpoint_strategy_ (this), + client_mmdevice_ (&endpoint_strategy_), + fp_ (0), + address_ (ACE_OS::strdup ("224.9.9.2:12345")), + protocol_ (ACE_OS::strdup ("UDP")) { } @@ -223,7 +220,7 @@ Client::bind_to_server (void) ACE_TRY { // Initialize the naming services - if (my_naming_client_.init (this->orb_manager_->orb ()) != 0) + if (my_naming_client_.init (TAO_AV_CORE::instance ()->orb ()) != 0) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize " "the TAO_Naming_Client. \n"), @@ -269,28 +266,14 @@ Client::init (int argc,char **argv) ACE_DECLARE_NEW_CORBA_ENV; ACE_TRY { - // @@ Pass the ORB as an argument to the init. - TAO_AV_CORE::instance ()->init (argc, - argv, - ACE_TRY_ENV); - ACE_TRY_CHECK; - this->orb_manager_ = TAO_AV_CORE::instance ()->orb_manager (); - this->orb_manager_->init_child_poa (argc, - argv, - "child_poa", - ACE_TRY_ENV); - ACE_TRY_CHECK; - this->parse_args (argc, argv); + PortableServer::POAManager_var mgr + = TAO_AV_CORE::instance ()->poa ()->the_POAManager (); + + mgr->activate (); - this->orb_manager_->activate_poa_manager (ACE_TRY_ENV); - // activate the client video mmdevice under the child poa. - ior = this->orb_manager_->activate (&this->client_mmdevice_, - ACE_TRY_ENV); - ACE_TRY_CHECK; + this->parse_args (argc, argv); - // Initialize the naming services - CORBA::ORB_var orb = orb_manager_->orb (); - if (this->my_naming_client_.init (orb.in ()) != 0) + if (this->my_naming_client_.init (TAO_AV_CORE::instance ()->orb ()) != 0) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize " "the TAO_Naming_Client. \n"), @@ -380,11 +363,11 @@ Client::run (void) this->streamctrl_.start (start_spec,ACE_TRY_ENV); ACE_TRY_CHECK; - TAO_AV_CORE::instance ()->run (); + TAO_AV_CORE::instance ()->orb ()->run (); } ACE_CATCHANY { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"Client::run"); + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"Client::run\n"); return -1; } ACE_ENDTRY; @@ -396,21 +379,55 @@ int main (int argc, char **argv) { - - int result = 0; - result = CLIENT::instance ()->init (argc,argv); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"client::init failed\n"),1); - result = CLIENT::instance ()->run (); - if (result < 0) - ACE_ERROR_RETURN ((LM_ERROR,"client::run failed\n"),1); - ACE_DEBUG ((LM_DEBUG, "Calibrating scale factory . . . ")); - ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor (); - ACE_DEBUG ((LM_DEBUG, "done\n")); - - recv_latency.dump_results ("Receive", gsf); - - send_latency.dump_results ("Send", gsf); + ACE_DECLARE_NEW_CORBA_ENV; + ACE_TRY + { + CORBA::ORB_var orb = CORBA::ORB_init (argc, + argv); + CORBA::Object_var obj + = orb->resolve_initial_references ("RootPOA"); + + PortableServer::POA_var poa + = PortableServer::POA::_narrow (obj); + + TAO_AV_CORE::instance ()->init (argc, + argv, + orb.in (), + poa.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK; + int result = 0; + result = CLIENT::instance ()->init (argc,argv); + if (result < 0) + ACE_ERROR_RETURN ((LM_ERROR,"client::init failed\n"),1); + result = CLIENT::instance ()->run (); + if (result < 0) + ACE_ERROR_RETURN ((LM_ERROR,"client::run failed\n"),1); + ACE_DEBUG ((LM_DEBUG, "Calibrating scale factory . . . ")); + ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor (); + ACE_DEBUG ((LM_DEBUG, "done\n")); + + recv_latency.dump_results ("Receive", gsf); + + send_latency.dump_results ("Send", gsf); + poa->destroy (1, 1, ACE_TRY_ENV); + ACE_CHECK_RETURN (-1); + + orb->destroy (ACE_TRY_ENV); + ACE_CHECK_RETURN (-1); + + if (result < 0) + ACE_ERROR_RETURN ((LM_ERROR,"client::run failed\n"),1); + + } + ACE_CATCHANY + + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"Client Failed\n"); + return -1; + } + ACE_ENDTRY; + ACE_CHECK_RETURN (-1); } #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) diff --git a/TAO/orbsvcs/tests/AVStreams/Pluggable/ftp.h b/TAO/orbsvcs/tests/AVStreams/Pluggable/ftp.h index 02d0943d37f..f945b3515ef 100644 --- a/TAO/orbsvcs/tests/AVStreams/Pluggable/ftp.h +++ b/TAO/orbsvcs/tests/AVStreams/Pluggable/ftp.h @@ -5,7 +5,6 @@ #define TAO_AV_FTP_H #include "ace/Get_Opt.h" -#include "tao/PortableServer/ORB_Manager.h" #include "orbsvcs/Naming/Naming_Utils.h" #include "orbsvcs/AV/AVStreams_i.h" #include "orbsvcs/AV/Endpoint_Strategy.h" @@ -31,7 +30,7 @@ protected: class FTP_Client_StreamEndPoint : public TAO_Client_StreamEndPoint { public: - FTP_Client_StreamEndPoint (TAO_ORB_Manager *orb_manager = 0); + FTP_Client_StreamEndPoint (void); virtual int get_callback (const char *flowname, TAO_AV_Callback *&callback); @@ -39,7 +38,6 @@ public: virtual int set_protocol_object (const char *flowname, TAO_AV_Protocol_Object *object); protected: - TAO_ORB_Manager *orb_manager_; FTP_Client_Callback *callback_; }; @@ -49,8 +47,7 @@ class Client; class Endpoint_Reactive_Strategy : public ENDPOINT_STRATEGY { public: - Endpoint_Reactive_Strategy (TAO_ORB_Manager *orb_manager, - Client *client_ptr); + Endpoint_Reactive_Strategy (Client *client_ptr); // constructor . The orb manager is needed for the TAO_AV_Endpoint_Reactive_Strategy_A. virtual int make_stream_endpoint (FTP_Client_StreamEndPoint *& endpoint); @@ -58,7 +55,6 @@ public: private: Client *client_; // pointer to command handler object - TAO_ORB_Manager *orb_manager_; }; @@ -74,7 +70,6 @@ public: private: int parse_args (int argc, char **argv); int bind_to_server (void); - TAO_ORB_Manager *orb_manager_; Endpoint_Reactive_Strategy endpoint_strategy_; AVStreams::MMDevice_var server_mmdevice_; TAO_MMDevice client_mmdevice_; diff --git a/TAO/orbsvcs/tests/AVStreams/Pluggable/server.cpp b/TAO/orbsvcs/tests/AVStreams/Pluggable/server.cpp index 9a6074e4fa0..d6c116dc4f1 100644 --- a/TAO/orbsvcs/tests/AVStreams/Pluggable/server.cpp +++ b/TAO/orbsvcs/tests/AVStreams/Pluggable/server.cpp @@ -73,13 +73,12 @@ int FTP_Server_Callback::handle_destroy (void) { ACE_DEBUG ((LM_DEBUG,"FTP_SFP_Callback::end_stream\n")); - TAO_AV_CORE::instance ()->stop_run (); + TAO_AV_CORE::instance ()->orb ()->shutdown (0); return 0; } Server::Server (void) - :orb_manager_ (TAO_AV_CORE::instance ()->orb_manager ()), - reactive_strategy_ (orb_manager_) + : reactive_strategy_ (TAO_AV_CORE::instance ()->orb (), TAO_AV_CORE::instance ()->poa ()) { } @@ -90,49 +89,27 @@ Server::init (int argc, ACE_DECLARE_NEW_CORBA_ENV; ACE_TRY { - TAO_AV_CORE::instance ()->init (argc, - argv, - ACE_TRY_ENV); - ACE_TRY_CHECK; - this->orb_manager_ = - TAO_AV_CORE::instance ()->orb_manager (); - - // Initialize the orb_manager - this->orb_manager_->init_child_poa (argc, - argv, - "child_poa", - ACE_TRY_ENV); - ACE_TRY_CHECK; - - CORBA::ORB_var orb = - this->orb_manager_->orb (); - - PortableServer::POA_var child_poa = - this->orb_manager_->child_poa (); - - + PortableServer::POAManager_var mgr + = TAO_AV_CORE::instance ()->poa ()->the_POAManager (); + + mgr->activate (); + int result = this->parse_args (argc,argv); if (result == -1) ACE_ERROR_RETURN ((LM_ERROR,"parse args failed\n"),-1); // Initialize the naming services - if (my_naming_client_.init (orb.in ()) != 0) + if (my_naming_client_.init (TAO_AV_CORE::instance ()->orb ()) != 0) ACE_ERROR_RETURN ((LM_ERROR, " (%P|%t) Unable to initialize " "the TAO_Naming_Client. \n"), -1); - this->orb_manager_->activate_poa_manager (ACE_TRY_ENV); // Register the video mmdevice object with the ORB ACE_NEW_RETURN (this->mmdevice_, TAO_MMDevice (&this->reactive_strategy_), -1); - // create the video server mmdevice with the naming service pointer. - this->orb_manager_->activate_under_child_poa ("Server_MMDevice", - this->mmdevice_, - ACE_TRY_ENV); - ACE_TRY_CHECK; - + // Register the mmdevice with the naming service. CosNaming::Name server_mmdevice_name (1); server_mmdevice_name.length (1); @@ -160,7 +137,7 @@ Server::run (void) ACE_DECLARE_NEW_CORBA_ENV; ACE_TRY { - TAO_AV_CORE::instance ()->run (); + TAO_AV_CORE::instance ()->orb ()->run (); ACE_TRY_CHECK; } ACE_CATCHANY @@ -211,7 +188,34 @@ main (int argc, char **argv) { int result = 0; - result = FTP_SERVER::instance ()->init (argc,argv); + CORBA::ORB_var orb = CORBA::ORB_init (argc, + argv); + + CORBA::Object_var obj + = orb->resolve_initial_references ("RootPOA"); + + PortableServer::POA_var poa + = PortableServer::POA::_narrow (obj); + + ACE_DECLARE_NEW_CORBA_ENV; + + ACE_TRY + { + TAO_AV_CORE::instance ()->init (argc, + argv, + orb.in (), + poa.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"server::init"); + return -1; + } + ACE_ENDTRY; + ACE_CHECK_RETURN (-1); + result = FTP_SERVER::instance ()->init (argc,argv); if (result < 0) ACE_ERROR_RETURN ((LM_ERROR,"FTP_SERVER::init failed\n"),1); result = FTP_SERVER::instance ()->run (); diff --git a/TAO/orbsvcs/tests/AVStreams/Pluggable/server.h b/TAO/orbsvcs/tests/AVStreams/Pluggable/server.h index 7959afd64c9..ddb0b123e5d 100644 --- a/TAO/orbsvcs/tests/AVStreams/Pluggable/server.h +++ b/TAO/orbsvcs/tests/AVStreams/Pluggable/server.h @@ -39,7 +39,6 @@ public: FILE *file (void); protected: int parse_args (int argc,char **argv); - TAO_ORB_Manager *orb_manager_; TAO_Naming_Client my_naming_client_; TAO_AV_Endpoint_Reactive_Strategy_B <FTP_Server_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl> reactive_strategy_; TAO_MMDevice *mmdevice_; |