diff options
Diffstat (limited to 'TAO/orbsvcs/Trading_Service')
-rw-r--r-- | TAO/orbsvcs/Trading_Service/Makefile | 307 | ||||
-rw-r--r-- | TAO/orbsvcs/Trading_Service/README | 10 | ||||
-rw-r--r-- | TAO/orbsvcs/Trading_Service/Trading_Service.cpp | 403 | ||||
-rw-r--r-- | TAO/orbsvcs/Trading_Service/Trading_Service.dsp | 104 | ||||
-rw-r--r-- | TAO/orbsvcs/Trading_Service/Trading_Service.dsw | 29 | ||||
-rw-r--r-- | TAO/orbsvcs/Trading_Service/Trading_Service.h | 110 | ||||
-rw-r--r-- | TAO/orbsvcs/Trading_Service/svc.conf | 49 |
7 files changed, 0 insertions, 1012 deletions
diff --git a/TAO/orbsvcs/Trading_Service/Makefile b/TAO/orbsvcs/Trading_Service/Makefile deleted file mode 100644 index 6a7f7db47dd..00000000000 --- a/TAO/orbsvcs/Trading_Service/Makefile +++ /dev/null @@ -1,307 +0,0 @@ -#-------------------------------------------------------------------------- -# $Id$ -# Build the TAO Trading Service -#-------------------------------------------------------------------------- -#-------------------------------------------------------------------------- -# Local macros -#-------------------------------------------------------------------------- - -BIN = Trading_Service - -LDLIBS = -lorbsvcs -lTAO - -VLDLIBS = $(LDLIBS:%=%$(VAR)) - -BUILD = $(VLIB) $(VSHLIB) $(SHLIBA) $(VBIN) - -SRC=$(addsuffix .cpp, $(BIN)) - -#-------------------------------------------------------------------------- -# Include macros and targets -#-------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU -include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU - -ifndef TAO_ROOT - TAO_ROOT = $(ACE_ROOT)/TAO -endif - -#TSS_ORB_FLAG = #-DTAO_HAS_TSS_ORBCORE - -LDFLAGS += -L$(TAO_ROOT)/orbsvcs/orbsvcs -L$(TAO_ROOT)/tao -CPPFLAGS += -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT) $(TSS_ORB_FLAG) - -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. - -.obj/Trading_Service.o .obj/Trading_Service.so .shobj/Trading_Service.o .shobj/Trading_Service.so: Trading_Service.cpp \ - $(ACE_ROOT)/ace/OS.h \ - $(ACE_ROOT)/ace/inc_user_config.h \ - $(ACE_ROOT)/ace/config.h \ - $(ACE_ROOT)/ace/config-sunos5.5.h \ - $(ACE_ROOT)/ace/config-g++-common.h \ - $(ACE_ROOT)/ace/streams.h \ - $(ACE_ROOT)/ace/Basic_Types.h \ - $(ACE_ROOT)/ace/Basic_Types.i \ - $(ACE_ROOT)/ace/OS.i \ - $(ACE_ROOT)/ace/Trace.h \ - $(ACE_ROOT)/ace/Log_Msg.h \ - $(ACE_ROOT)/ace/Log_Record.h \ - $(ACE_ROOT)/ace/ACE.h \ - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/Log_Priority.h \ - $(ACE_ROOT)/ace/SString.h \ - $(ACE_ROOT)/ace/SString.i \ - $(ACE_ROOT)/ace/Malloc_Base.h \ - $(ACE_ROOT)/ace/Log_Record.i \ - $(ACE_ROOT)/ace/Arg_Shifter.h \ - Trading_Service.h \ - $(TAO_ROOT)/tao/TAO.h \ - $(TAO_ROOT)/tao/corba.h \ - $(TAO_ROOT)/tao/orbconf.h \ - $(ACE_ROOT)/ace/Get_Opt.h \ - $(ACE_ROOT)/ace/Get_Opt.i \ - $(ACE_ROOT)/ace/SOCK_Stream.h \ - $(ACE_ROOT)/ace/SOCK_IO.h \ - $(ACE_ROOT)/ace/SOCK.h \ - $(ACE_ROOT)/ace/Addr.h \ - $(ACE_ROOT)/ace/Addr.i \ - $(ACE_ROOT)/ace/IPC_SAP.h \ - $(ACE_ROOT)/ace/IPC_SAP.i \ - $(ACE_ROOT)/ace/SOCK.i \ - $(ACE_ROOT)/ace/SOCK_IO.i \ - $(ACE_ROOT)/ace/INET_Addr.h \ - $(ACE_ROOT)/ace/INET_Addr.i \ - $(ACE_ROOT)/ace/SOCK_Stream.i \ - $(ACE_ROOT)/ace/Synch_T.h \ - $(ACE_ROOT)/ace/Event_Handler.h \ - $(ACE_ROOT)/ace/Event_Handler.i \ - $(ACE_ROOT)/ace/Synch.h \ - $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ - $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ - $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ - $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ - $(ACE_ROOT)/ace/Synch.i \ - $(ACE_ROOT)/ace/Synch_T.i \ - $(ACE_ROOT)/ace/Thread.h \ - $(ACE_ROOT)/ace/Thread.i \ - $(ACE_ROOT)/ace/Atomic_Op.i \ - $(ACE_ROOT)/ace/Synch_T.cpp \ - $(ACE_ROOT)/ace/Hash_Map_Manager.h \ - $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ - $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ - $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ - $(ACE_ROOT)/ace/Service_Config.h \ - $(ACE_ROOT)/ace/Service_Object.h \ - $(ACE_ROOT)/ace/Shared_Object.h \ - $(ACE_ROOT)/ace/Shared_Object.i \ - $(ACE_ROOT)/ace/Service_Object.i \ - $(ACE_ROOT)/ace/Signal.h \ - $(ACE_ROOT)/ace/Containers.h \ - $(ACE_ROOT)/ace/Containers.i \ - $(ACE_ROOT)/ace/Containers_T.h \ - $(ACE_ROOT)/ace/Containers_T.i \ - $(ACE_ROOT)/ace/Containers_T.cpp \ - $(ACE_ROOT)/ace/Malloc.h \ - $(ACE_ROOT)/ace/Malloc.i \ - $(ACE_ROOT)/ace/Malloc_T.h \ - $(ACE_ROOT)/ace/Free_List.h \ - $(ACE_ROOT)/ace/Free_List.i \ - $(ACE_ROOT)/ace/Free_List.cpp \ - $(ACE_ROOT)/ace/Malloc_T.i \ - $(ACE_ROOT)/ace/Malloc_T.cpp \ - $(ACE_ROOT)/ace/Memory_Pool.h \ - $(ACE_ROOT)/ace/Mem_Map.h \ - $(ACE_ROOT)/ace/Mem_Map.i \ - $(ACE_ROOT)/ace/Memory_Pool.i \ - $(ACE_ROOT)/ace/Signal.i \ - $(ACE_ROOT)/ace/Object_Manager.h \ - $(ACE_ROOT)/ace/Object_Manager.i \ - $(ACE_ROOT)/ace/Managed_Object.h \ - $(ACE_ROOT)/ace/Managed_Object.i \ - $(ACE_ROOT)/ace/Managed_Object.cpp \ - $(ACE_ROOT)/ace/Service_Config.i \ - $(ACE_ROOT)/ace/Reactor.h \ - $(ACE_ROOT)/ace/Handle_Set.h \ - $(ACE_ROOT)/ace/Handle_Set.i \ - $(ACE_ROOT)/ace/Timer_Queue.h \ - $(ACE_ROOT)/ace/Timer_Queue_T.h \ - $(ACE_ROOT)/ace/Timer_Queue_T.i \ - $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ - $(ACE_ROOT)/ace/Reactor.i \ - $(ACE_ROOT)/ace/Reactor_Impl.h \ - $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ - $(ACE_ROOT)/ace/Hash_Map_Manager.i \ - $(ACE_ROOT)/ace/SOCK_Acceptor.h \ - $(ACE_ROOT)/ace/Time_Value.h \ - $(ACE_ROOT)/ace/SOCK_Acceptor.i \ - $(ACE_ROOT)/ace/SOCK_Connector.h \ - $(ACE_ROOT)/ace/SOCK_Connector.i \ - $(ACE_ROOT)/ace/Strategies.h \ - $(ACE_ROOT)/ace/Strategies_T.h \ - $(ACE_ROOT)/ace/Synch_Options.h \ - $(ACE_ROOT)/ace/Synch_Options.i \ - $(ACE_ROOT)/ace/Thread_Manager.h \ - $(ACE_ROOT)/ace/Thread_Manager.i \ - $(ACE_ROOT)/ace/Strategies_T.i \ - $(ACE_ROOT)/ace/Strategies_T.cpp \ - $(ACE_ROOT)/ace/Service_Repository.h \ - $(ACE_ROOT)/ace/Service_Types.h \ - $(ACE_ROOT)/ace/Service_Types.i \ - $(ACE_ROOT)/ace/Service_Repository.i \ - $(ACE_ROOT)/ace/WFMO_Reactor.h \ - $(ACE_ROOT)/ace/Message_Queue.h \ - $(ACE_ROOT)/ace/Message_Block.h \ - $(ACE_ROOT)/ace/Message_Block.i \ - $(ACE_ROOT)/ace/Message_Block_T.h \ - $(ACE_ROOT)/ace/Message_Block_T.i \ - $(ACE_ROOT)/ace/Message_Block_T.cpp \ - $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ - $(ACE_ROOT)/ace/Message_Queue_T.h \ - $(ACE_ROOT)/ace/Message_Queue_T.i \ - $(ACE_ROOT)/ace/Message_Queue_T.cpp \ - $(ACE_ROOT)/ace/Message_Queue.i \ - $(ACE_ROOT)/ace/WFMO_Reactor.i \ - $(ACE_ROOT)/ace/Strategies.i \ - $(ACE_ROOT)/ace/Connector.h \ - $(ACE_ROOT)/ace/Map_Manager.h \ - $(ACE_ROOT)/ace/Map_Manager.i \ - $(ACE_ROOT)/ace/Map_Manager.cpp \ - $(ACE_ROOT)/ace/Svc_Handler.h \ - $(ACE_ROOT)/ace/Task.h \ - $(ACE_ROOT)/ace/Task.i \ - $(ACE_ROOT)/ace/Task_T.h \ - $(ACE_ROOT)/ace/Task_T.i \ - $(ACE_ROOT)/ace/Task_T.cpp \ - $(ACE_ROOT)/ace/Module.h \ - $(ACE_ROOT)/ace/Module.i \ - $(ACE_ROOT)/ace/Module.cpp \ - $(ACE_ROOT)/ace/Stream_Modules.h \ - $(ACE_ROOT)/ace/Stream_Modules.i \ - $(ACE_ROOT)/ace/Stream_Modules.cpp \ - $(ACE_ROOT)/ace/Svc_Handler.i \ - $(ACE_ROOT)/ace/Svc_Handler.cpp \ - $(ACE_ROOT)/ace/Dynamic.h \ - $(ACE_ROOT)/ace/Singleton.h \ - $(ACE_ROOT)/ace/Singleton.i \ - $(ACE_ROOT)/ace/Singleton.cpp \ - $(ACE_ROOT)/ace/Dynamic.i \ - $(ACE_ROOT)/ace/Connector.i \ - $(ACE_ROOT)/ace/Connector.cpp \ - $(ACE_ROOT)/ace/Acceptor.h \ - $(ACE_ROOT)/ace/Acceptor.i \ - $(ACE_ROOT)/ace/Acceptor.cpp \ - $(TAO_ROOT)/tao/Align.h \ - $(TAO_ROOT)/tao/Environment.h \ - $(TAO_ROOT)/tao/Environment.i \ - $(TAO_ROOT)/tao/ORB.h \ - $(TAO_ROOT)/tao/Sequence.h \ - $(TAO_ROOT)/tao/Sequence.i \ - $(TAO_ROOT)/tao/Sequence_T.h \ - $(TAO_ROOT)/tao/Sequence_T.i \ - $(TAO_ROOT)/tao/Sequence_T.cpp \ - $(TAO_ROOT)/tao/Object_KeyC.h \ - $(TAO_ROOT)/tao/Object_KeyC.i \ - $(TAO_ROOT)/tao/Union.h \ - $(TAO_ROOT)/tao/Exception.h \ - $(TAO_ROOT)/tao/Exception.i \ - $(TAO_ROOT)/tao/ORB.i \ - $(TAO_ROOT)/tao/try_macros.h \ - $(TAO_ROOT)/tao/Any.h \ - $(TAO_ROOT)/tao/Any.i \ - $(TAO_ROOT)/tao/NVList.h \ - $(TAO_ROOT)/tao/NVList.i \ - $(TAO_ROOT)/tao/Principal.h \ - $(TAO_ROOT)/tao/Principal.i \ - $(TAO_ROOT)/tao/Request.h \ - $(TAO_ROOT)/tao/Request.i \ - $(TAO_ROOT)/tao/Stub.h \ - $(TAO_ROOT)/tao/Stub.i \ - $(TAO_ROOT)/tao/Object.h \ - $(TAO_ROOT)/tao/Object.i \ - $(TAO_ROOT)/tao/varout.h \ - $(TAO_ROOT)/tao/varout.i \ - $(TAO_ROOT)/tao/varout.cpp \ - $(TAO_ROOT)/tao/Typecode.h \ - $(TAO_ROOT)/tao/Typecode.i \ - $(TAO_ROOT)/tao/Marshal.h \ - $(TAO_ROOT)/tao/Marshal.i \ - $(TAO_ROOT)/tao/singletons.h \ - $(TAO_ROOT)/tao/CDR.h \ - $(TAO_ROOT)/tao/CDR.i \ - $(TAO_ROOT)/tao/PolicyC.h \ - $(TAO_ROOT)/tao/PolicyC.i \ - $(TAO_ROOT)/tao/CurrentC.h \ - $(TAO_ROOT)/tao/CurrentC.i \ - $(TAO_ROOT)/tao/POA.h \ - $(TAO_ROOT)/tao/POAC.h \ - $(TAO_ROOT)/tao/POAC.i \ - $(TAO_ROOT)/tao/Servant_Base.h \ - $(TAO_ROOT)/tao/Servant_Base.i \ - $(TAO_ROOT)/tao/POAS.h \ - $(TAO_ROOT)/tao/POA_CORBA.h \ - $(TAO_ROOT)/tao/DynAnyC.h \ - $(TAO_ROOT)/tao/DynAnyC.i \ - $(TAO_ROOT)/tao/POAS.i \ - $(TAO_ROOT)/tao/Active_Object_Map.h \ - $(TAO_ROOT)/tao/Active_Object_Map.i \ - $(TAO_ROOT)/tao/POA.i \ - $(TAO_ROOT)/tao/poa_macros.h \ - $(TAO_ROOT)/tao/params.h \ - $(TAO_ROOT)/tao/params.i \ - $(TAO_ROOT)/tao/Connect.h \ - $(TAO_ROOT)/tao/Connect.i \ - $(TAO_ROOT)/tao/ORB_Core.h \ - $(TAO_ROOT)/tao/ORB_Core.i \ - $(ACE_ROOT)/ace/Dynamic_Service.h \ - $(ACE_ROOT)/ace/Dynamic_Service.cpp \ - $(TAO_ROOT)/tao/Operation_Table.h \ - $(TAO_ROOT)/tao/debug.h \ - $(TAO_ROOT)/tao/Client_Strategy_Factory.h \ - $(TAO_ROOT)/tao/Server_Strategy_Factory.h \ - $(TAO_ROOT)/tao/default_client.h \ - $(TAO_ROOT)/tao/default_client.i \ - $(TAO_ROOT)/tao/default_server.h \ - $(TAO_ROOT)/tao/ORB_Strategies_T.h \ - $(TAO_ROOT)/tao/ORB_Strategies_T.i \ - $(TAO_ROOT)/tao/ORB_Strategies_T.cpp \ - $(TAO_ROOT)/tao/default_server.i \ - $(TAO_ROOT)/tao/IIOP_Object.h \ - $(TAO_ROOT)/tao/IIOP_Object.i \ - $(TAO_ROOT)/tao/IIOP_ORB.h \ - $(TAO_ROOT)/tao/IIOP_ORB.i \ - $(TAO_ROOT)/tao/IIOP_Interpreter.h \ - $(TAO_ROOT)/tao/GIOP.h \ - $(TAO_ROOT)/tao/GIOP.i \ - $(TAO_ROOT)/tao/Invocation.h \ - $(TAO_ROOT)/tao/Invocation.i \ - $(TAO_ROOT)/tao/Server_Request.h \ - $(TAO_ROOT)/tao/Server_Request.i \ - $(TAO_ROOT)/tao/InconsistentTypeCodeC.h \ - $(TAO_ROOT)/tao/DynAny_i.h \ - $(ACE_ROOT)/ace/Auto_Ptr.h \ - $(ACE_ROOT)/ace/Auto_Ptr.i \ - $(ACE_ROOT)/ace/Auto_Ptr.cpp \ - $(TAO_ROOT)/orbsvcs/orbsvcs/IOR_Multicast.h \ - $(TAO_ROOT)/orbsvcs/orbsvcs/orbsvcs_export.h \ - $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.h \ - $(ACE_ROOT)/ace/SOCK_Dgram.h \ - $(ACE_ROOT)/ace/SOCK_Dgram.i \ - $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.i \ - $(TAO_ROOT)/orbsvcs/orbsvcs/Trader/Trader.h \ - $(TAO_ROOT)/orbsvcs/orbsvcs/CosTradingS.h \ - $(TAO_ROOT)/orbsvcs/orbsvcs/CosTradingC.h \ - $(TAO_ROOT)/orbsvcs/orbsvcs/CosTradingC.i \ - $(TAO_ROOT)/orbsvcs/orbsvcs/CosTradingS_T.h \ - $(TAO_ROOT)/orbsvcs/orbsvcs/CosTradingS_T.i \ - $(TAO_ROOT)/orbsvcs/orbsvcs/CosTradingS_T.cpp \ - $(TAO_ROOT)/orbsvcs/orbsvcs/CosTradingS.i \ - $(TAO_ROOT)/orbsvcs/orbsvcs/Trader/Service_Type_Repository.h - -# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/TAO/orbsvcs/Trading_Service/README b/TAO/orbsvcs/Trading_Service/README deleted file mode 100644 index 4aec9cb0b2f..00000000000 --- a/TAO/orbsvcs/Trading_Service/README +++ /dev/null @@ -1,10 +0,0 @@ -$Id$ - -The TAO Trading Service - -Thank you for your interest in the TAO trading service. Documentation -on using the Trading Service and its tests can be found in: - - $TAO_ROOT/docs/releasenotes/trader.html - -Enjoy!
\ No newline at end of file diff --git a/TAO/orbsvcs/Trading_Service/Trading_Service.cpp b/TAO/orbsvcs/Trading_Service/Trading_Service.cpp deleted file mode 100644 index dbffc0f5e71..00000000000 --- a/TAO/orbsvcs/Trading_Service/Trading_Service.cpp +++ /dev/null @@ -1,403 +0,0 @@ -// $Id$ - -#include "ace/OS.h" -#include "ace/Arg_Shifter.h" -#include "Trading_Service.h" - -ACE_RCSID(Trading_Service, Trading_Service, "$Id$") - -Trading_Shutdown::Trading_Shutdown (Trading_Service& trader) - : trader_ (trader) -{ - if (this->shutdown_.register_handler (SIGINT, this) == -1) - { - ACE_ERROR ((LM_ERROR, "%p\n", "register_handler")); - } - - if (this->shutdown_.register_handler (SIGTERM, this) == -1) - { - ACE_ERROR ((LM_ERROR, "%p\n", "register_handler")); - } -} - -int -Trading_Shutdown::handle_signal (int signum, siginfo_t* sinfo, ucontext_t* ucon) -{ - ACE_UNUSED_ARG (signum); - ACE_UNUSED_ARG (sinfo); - ACE_UNUSED_ARG (ucon); - this->trader_.~Trading_Service (); - exit (0); - return 0; -} - -Trading_Service::Trading_Service (void) - : federate_ (0), - ior_output_file_ (0), - bootstrapper_ (0) -{ - char* trader_name = - CORBA::string_alloc (MAXHOSTNAMELEN + 10); - - if (trader_name != 0) - { - // The trader name is the concatenation of the local host name - // and the server's process id. - char host_name[MAXHOSTNAMELEN]; - ACE_INET_Addr localhost ((u_short) 0); - localhost.get_host_name (host_name, MAXHOSTNAMELEN); - ACE_OS::sprintf (trader_name, "%s_%d", host_name, ACE_OS::getpid ()); - - this->name_ = trader_name; - } -} - -Trading_Service::~Trading_Service (void) -{ - this->shutdown (); -} - -int -Trading_Service::init (int argc, char* argv[]) -{ - TAO_TRY - { - this->orb_manager_.init (argc, argv, TAO_TRY_ENV); - TAO_CHECK_ENV; - - if (this->parse_args (argc, argv) == -1) - return -1; - - CORBA::ORB_ptr orb = this->orb_manager_.orb (); - - // Create a Trader Object and set its Service Type Repository. - this->trader_ = - auto_ptr<TAO_Trader_Factory::TAO_TRADER> (TAO_Trader_Factory::create_trader (argc, argv)); - TAO_Support_Attributes_i& sup_attr = this->trader_->support_attributes (); - TAO_Trading_Components_i& trd_comp = this->trader_->trading_components (); - sup_attr.type_repos (this->type_repos_._this (TAO_TRY_ENV)); - TAO_CHECK_ENV; - - // The Spec says: return a reference to the Lookup interface - // from the resolve_initial_references method. - CosTrading::Lookup_ptr lookup = trd_comp.lookup_if (); - this->ior_ = orb->object_to_string (lookup, TAO_TRY_ENV); - TAO_CHECK_ENV; - - // Dump the ior to a file. - if (this->ior_output_file_ != 0) - { - ACE_OS::fprintf (this->ior_output_file_, "%s", this->ior_.in ()); - ACE_OS::fclose (this->ior_output_file_); - } - - if (this->federate_) - { - // Only become a multicast server if we're the only trader - // on the multicast network. - // @@ Could do other things. For example, every timeout - // period try to federate again, but let's not hardcode that - // policy. - if (this->bootstrap_to_federation () == -1) - this->init_multicast_server (); - } - else - this->init_multicast_server (); - } - TAO_CATCHANY - { - TAO_TRY_ENV.print_exception ("Trading Service"); - } - TAO_ENDTRY; - - return 0; -} - - -int -Trading_Service::run (void) -{ - int return_value; - CORBA::Environment TAO_IN_ENV; - Trading_Shutdown trading_shutdown (*this); - - // Run the Trading Service. - return_value = this->orb_manager_.run (TAO_IN_ENV); - TAO_CHECK_ENV_RETURN (TAO_IN_ENV, -1); - - return return_value; -} - -int -Trading_Service::init_multicast_server (void) -{ -#if defined ACE_HAS_IP_MULTICAST - // Get reactor instance from TAO. - ACE_Reactor *reactor = TAO_ORB_Core_instance ()->reactor (); - - // First, see if the user has given us a multicast port number - // for the name service on the command-line; - u_short port = - TAO_ORB_Core_instance ()->orb_params ()->trading_service_port (); - - if (port == 0) - { - const char *port_number = - ACE_OS::getenv ("TradingServicePort"); - - if (port_number != 0) - port = ACE_OS::atoi (port_number); - else - port = TAO_DEFAULT_TRADING_SERVER_REQUEST_PORT; - } - - // Instantiate a server that will receive requests for an ior - if (this->ior_multicast_.init ((char *) this->ior_.in (), - port, - ACE_DEFAULT_MULTICAST_ADDR, - TAO_SERVICEID_TRADINGSERVICE) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, "Failed to init IOR multicast.\n"), -1); - } - - // Register event handler for the ior multicast. - if (reactor->register_handler (&this->ior_multicast_, - ACE_Event_Handler::READ_MASK) == -1) - ACE_DEBUG ((LM_DEBUG, - "cannot register Event handler\n")); - else - ACE_DEBUG ((LM_DEBUG, - "The multicast server setup is done.\n")); - - // Other trader instances will bootstrap to us. - this->bootstrapper_ = 1; - -#endif /* ACE_HAS_IP_MULTICAST */ - return 0; -} - -int -Trading_Service::bootstrap_to_federation (void) -{ - // If all traders follow this strategy, it creates a complete graph - // of all known traders on a multicast network. - CORBA::ORB_var orb = this->orb_manager_.orb (); - - ACE_DEBUG ((LM_DEBUG, "*** Bootstrapping to another Trading Service.\n")); - CORBA::Object_var trading_obj = - orb->resolve_initial_references ("TradingService"); - - if (CORBA::is_nil (trading_obj.in ())) - ACE_ERROR_RETURN ((LM_ERROR, - "We're all alone. " - "Unable to link to other traders.\n"), - -1); - - TAO_TRY - { - ACE_DEBUG ((LM_DEBUG, "*** Narrowing the lookup interface.\n")); - CosTrading::Lookup_var lookup_if = - CosTrading::Lookup::_narrow (trading_obj.in (), TAO_TRY_ENV); - TAO_CHECK_ENV; - - ACE_DEBUG ((LM_DEBUG, "*** Obtaining the link interface.\n")); - CosTrading::Link_var link_if = lookup_if->link_if (TAO_TRY_ENV); - TAO_CHECK_ENV; - - TAO_Trading_Components_i& trd_comp = - this->trader_->trading_components (); - CosTrading::Lookup_ptr our_lookup = trd_comp.lookup_if (); - CosTrading::Link_ptr our_link = trd_comp.link_if (); - - ACE_DEBUG ((LM_DEBUG, "*** Linking found trader to self.\n")); - link_if->add_link (this->name_.in (), - our_lookup, - CosTrading::always, - CosTrading::always, - TAO_TRY_ENV); - TAO_CHECK_ENV; - - ACE_DEBUG ((LM_DEBUG, "*** Linking self to found trader.\n")); - our_link->add_link ("Bootstrap", - lookup_if.in (), - CosTrading::always, - CosTrading::always, - TAO_TRY_ENV); - TAO_CHECK_ENV; - - ACE_DEBUG ((LM_DEBUG, "*** Retrieving list of known linked traders.\n")); - CosTrading::LinkNameSeq_var link_name_seq = - link_if->list_links (TAO_TRY_ENV); - TAO_CHECK_ENV; - - ACE_DEBUG ((LM_DEBUG, "*** Linking self to all linked traders.\n")); - for (int i = link_name_seq->length () - 1; i >= 0; i--) - { - // Avoid linking to ourselves. - if (ACE_OS::strcmp (ACE_static_cast (const char*, link_name_seq[i]), - this->name_.in ()) != 0) - { - ACE_DEBUG ((LM_DEBUG, "*** Getting info for link %s.\n", - ACE_static_cast (const char*, link_name_seq[i]))); - CosTrading::Link::LinkInfo_var link_info = - link_if->describe_link (link_name_seq[i], TAO_TRY_ENV); - TAO_CHECK_ENV; - - CosTrading::Lookup_ptr remote_lookup; - remote_lookup = link_info->target.in (); - - ACE_DEBUG ((LM_DEBUG, "*** Retrieving its link interface.\n")); - CosTrading::Link_var remote_link = - remote_lookup->link_if (TAO_TRY_ENV); - TAO_CHECK_ENV; - - ACE_DEBUG ((LM_DEBUG, "*** Creating a link to me from it.\n")); - remote_link->add_link (this->name_.in (), - our_lookup, - CosTrading::always, - CosTrading::always, - TAO_TRY_ENV); - TAO_CHECK_ENV; - - ACE_DEBUG ((LM_DEBUG, "*** Creating a link to it from me.\n")); - our_link->add_link (link_name_seq[i], - remote_lookup, - CosTrading::always, - CosTrading::always, - TAO_TRY_ENV); - TAO_CHECK_ENV; - } - } - } - TAO_CATCHANY - { - TAO_TRY_ENV.print_exception ("Trading Service"); - } - TAO_ENDTRY; - - return 0; -} - -int -Trading_Service::shutdown (void) -{ - CORBA::Environment TAO_IN_ENV; - - if (this->trader_.get () != 0) - { - TAO_Trading_Components_i& trd_comp - = this->trader_->trading_components (); - CosTrading::Link_ptr our_link = trd_comp.link_if (); - - CosTrading::LinkNameSeq_var link_name_seq = - our_link->list_links (TAO_IN_ENV); - - ACE_DEBUG ((LM_DEBUG, "*** Unlinking from federated traders.\n")); - for (int i = link_name_seq->length () - 1; i >= 0; i--) - { - TAO_TRY - { - ACE_DEBUG ((LM_DEBUG, "*** Describing the next link.\n")); - CosTrading::Link::LinkInfo_var link_info = - our_link->describe_link (link_name_seq[i], TAO_TRY_ENV); - TAO_CHECK_ENV; - - ACE_DEBUG ((LM_DEBUG, "*** Removing link to %s.\n", - ACE_static_cast (const char*, link_name_seq[i]))); - our_link->remove_link (link_name_seq[i], TAO_TRY_ENV); - TAO_CHECK_ENV; - - CosTrading::Lookup_ptr remote_lookup; - remote_lookup = link_info->target.in (); - - ACE_DEBUG ((LM_DEBUG, "*** Retrieving its link interface.\n")); - CosTrading::Link_var remote_link = - remote_lookup->link_if (TAO_TRY_ENV); - TAO_CHECK_ENV; - - ACE_DEBUG ((LM_DEBUG, "*** Removing its link to us.\n")); - - if (this->bootstrapper_) - remote_link->remove_link ("Bootstrap", TAO_TRY_ENV); - else - remote_link->remove_link (this->name_.in (), TAO_TRY_ENV); - TAO_CHECK_ENV; - } - TAO_CATCHANY - { - // TAO_TRY_ENV.print_exception ("Trading Service"); - } - TAO_ENDTRY; - } - } - - return 0; -} - -int -Trading_Service::parse_args (int& argc, char *argv[]) -{ - ACE_Arg_Shifter arg_shifter (argc, argv); - - while (arg_shifter.is_anything_left ()) - { - char *current_arg = arg_shifter.get_current (); - - if (ACE_OS::strcmp (current_arg, "-TSfederate") == 0) - { - arg_shifter.consume_arg (); - this->federate_ = 1; - } - if (ACE_OS::strcmp (current_arg, "-TSdumpior") == 0) - { - arg_shifter.consume_arg (); - if (arg_shifter.is_parameter_next ()) - { - - char* file_name = arg_shifter.get_current (); - this->ior_output_file_ = ACE_OS::fopen (file_name, "w"); - - if (this->ior_output_file_ == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "Unable to open %s for writing: %p\n", - file_name), -1); - - arg_shifter.consume_arg (); - } - else - this->ior_output_file_ = ACE_OS::fdopen (ACE_STDOUT, "w"); - } - - else - arg_shifter.ignore_arg (); - } - - return 0; -} - -int -main (int argc, char** argv) -{ - Trading_Service trader; - - if (trader.init (argc, argv) != -1) - trader.run (); - else - { - ACE_ERROR_RETURN ((LM_DEBUG, - "Failed to initialize the trader.\n"), - -1); - } - - return 0; -} - - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class auto_ptr<TAO_Trader_Factory::TAO_TRADER>; -template class ACE_Auto_Basic_Ptr<TAO_Trader_Factory::TAO_TRADER>; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate auto_ptr<TAO_Trader_Factory::TAO_TRADER> -#pragma instantiate ACE_Auto_Basic_Ptr<TAO_Trader_Factory::TAO_TRADER> -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ - diff --git a/TAO/orbsvcs/Trading_Service/Trading_Service.dsp b/TAO/orbsvcs/Trading_Service/Trading_Service.dsp deleted file mode 100644 index a259dcba30c..00000000000 --- a/TAO/orbsvcs/Trading_Service/Trading_Service.dsp +++ /dev/null @@ -1,104 +0,0 @@ -# Microsoft Developer Studio Project File - Name="Trading_Service" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=Trading_Service - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "Trading_Service.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "Trading_Service.mak" CFG="Trading_Service - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "Trading_Service - Win32 Release" (based on\
- "Win32 (x86) Console Application")
-!MESSAGE "Trading_Service - Win32 Debug" (based on\
- "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "Trading_Service - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I ".." /I "..\.." /I "..\..\.." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D TAO_ORBSVCS_HAS_DLL=1 /D "TAO_HAS_OBJECT_IN_STRUCT_MARSHAL_BUG" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 orbsvcs.lib TAO.lib ace.lib /nologo /subsystem:console /machine:I386 /libpath:"..\orbsvcs" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
-
-!ELSEIF "$(CFG)" == "Trading_Service - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I ".." /I "..\.." /I "..\..\.." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D TAO_ORBSVCS_HAS_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 TAOd.lib orbsvcsd.lib aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\orbsvcs" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
-
-!ENDIF
-
-# Begin Target
-
-# Name "Trading_Service - Win32 Release"
-# Name "Trading_Service - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\Trading_Service.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\Trading_Service.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/orbsvcs/Trading_Service/Trading_Service.dsw b/TAO/orbsvcs/Trading_Service/Trading_Service.dsw deleted file mode 100644 index b12f1c02b68..00000000000 --- a/TAO/orbsvcs/Trading_Service/Trading_Service.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "Trading_Service"=.\Trading_Service.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/TAO/orbsvcs/Trading_Service/Trading_Service.h b/TAO/orbsvcs/Trading_Service/Trading_Service.h deleted file mode 100644 index d52d80be5f2..00000000000 --- a/TAO/orbsvcs/Trading_Service/Trading_Service.h +++ /dev/null @@ -1,110 +0,0 @@ -// $Id$ - -// ======================================================================== -// -// = BINARY -// trader -// -// = FILENAME -// Trading_Service.h -// -// = AUTHOR -// Seth Widoff <sbw1@cs.wustl.edu> -// -// ======================================================================= - -#ifndef _TRADING_SERVICE_H -#define _TRADING_SERVICE_H - -#include "tao/TAO.h" -#include "ace/Auto_Ptr.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "orbsvcs/IOR_Multicast.h" -#include "orbsvcs/Trader/Trader.h" -#include "orbsvcs/Trader/Service_Type_Repository.h" - -class Trading_Service; - -class Trading_Shutdown : public ACE_Event_Handler -{ -public: - - Trading_Shutdown (Trading_Service& trader); - - virtual int handle_signal (int, siginfo_t*, ucontext_t*); - -private: - - Trading_Service& trader_; - ACE_Sig_Handler shutdown_; -}; - - -class Trading_Service -// = TITLE -// A class that initializes a Trading Service instance. -{ -public: - - Trading_Service (void); - // Default constructor. - - ~Trading_Service (void); - // Destructor - - int init (int argc, char* argv[]); - // Initialize the Trading Service with arguments. - - int run (void); - // Run the Trading Service. - - int shutdown (void); - -private: - - int init_multicast_server (void); - // Enable the Trading Service to answer multicast requests for its IOR. - - int bootstrap_to_federation (void); - // Bootstrap to another trader, and attach to its trader network. - - int parse_args (int& argc, char *argv[]); - // parses the arguments. - - TAO_ORB_Manager orb_manager_; - // The ORB manager. - - TAO_Service_Type_Repository type_repos_; - // Service Type Repository used by the trading service. - - auto_ptr<TAO_Trader_Factory::TAO_TRADER> trader_; - // Pointer to the linked trader. - - CORBA::String_var name_; - // Name of this trading service: "hostname:pid". - - CORBA::String_var ior_; - // IOR of the trader kept around for handiness purposes. - - CORBA::Boolean federate_; - // Flag indicating whether this trader should join the federation. - - FILE *ior_output_file_; - // File to output the Naming Service IOR. - - CORBA::Boolean dumpior_; - // Flag indicating whether to dump the ior to standard output. - - CORBA::Boolean bootstrapper_; - // Flag inidicating whether we're the trader others are bootstrapping to. - - TAO_IOR_Multicast ior_multicast_; - // Event handler that responds to resolve_initial_references requests. -}; - - -#endif /* _TRADING_SERVICE_H */ diff --git a/TAO/orbsvcs/Trading_Service/svc.conf b/TAO/orbsvcs/Trading_Service/svc.conf deleted file mode 100644 index 43c6a486c92..00000000000 --- a/TAO/orbsvcs/Trading_Service/svc.conf +++ /dev/null @@ -1,49 +0,0 @@ -# $Id$ -# -# This file contains a sample ACE_Service_Config configuration -# file specifying the strategy factories utilized by an application -# using TAO. There are currently only two possible factories: -# Client_Strategy_Factory and Server_Strategy_Factory. These names -# must be used as the second argument to their corresponding line, -# because that's what the ORB uses to find the desired factory. -# -# Note that there are two unordinary characteristics of the way *this* -# file is set up: -# - both client and server strategies are specified in the same -# file, which would only make sense for co-located clients & servers -# - both of the factories are actually sourced out of libTAO.so -# (TAO.DLL on Win32), and they would normally be in a separate -# dll from the TAO ORB Core. -# -# The options which can be passed to the Resource Factory are: -# -# -ORBresources <which> -# where <which> can be 'global' to specify globally-held resources, -# or 'tss' to specify thread-specific resources. -# -# The options which can be passed to the Client are: -# <none currently> -# -# The options which can be passed to the Server are: -# -# -ORBconcurrency <which> -# where <which> can be 'thread-per-connection' to specify -# use of the ACE_Threaded_Strategy concurrency strategy, -# or 'reactive' to specify use of the ACE_Reactive_Strategy -# concurrency strategy. -# -# -ORBthreadflags <flags> -# specifies the default thread flags to use, where <flags> is a -# logical OR'ing of the flags THR_DETACHED, THR_BOUND, THR_NEW_LWP, -# THR_SUSPENDED, or THR_DAEMON. Note that not every flag may be valid -# on every platform. -# -# -ORBdemuxstrategy <which> -# where <which> can be one of 'dynamic', 'linear', 'active', or 'user', -# and specifies the type of object lookup strategy used internally. -# -ORBtablesize <unsigned> -# specifies the size of the object table -# -dynamic Resource_Factory Service_Object * TAO:_make_TAO_Resource_Factory() "-ORBresources global" -dynamic Client_Strategy_Factory Service_Object * TAO:_make_TAO_Default_Client_Strategy_Factory() -dynamic Server_Strategy_Factory Service_Object * TAO:_make_TAO_Default_Server_Strategy_Factory() "-ORBconcurrency reactive -ORBdemuxstrategy dynamic -ORBtablesize 128" |