diff options
Diffstat (limited to 'TAO/orbsvcs/examples/RtEC/Simple/Service.cpp')
-rw-r--r-- | TAO/orbsvcs/examples/RtEC/Simple/Service.cpp | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/TAO/orbsvcs/examples/RtEC/Simple/Service.cpp b/TAO/orbsvcs/examples/RtEC/Simple/Service.cpp deleted file mode 100644 index 82d7280c387..00000000000 --- a/TAO/orbsvcs/examples/RtEC/Simple/Service.cpp +++ /dev/null @@ -1,126 +0,0 @@ -// $Id$ - -#include "orbsvcs/Event/EC_Event_Channel.h" -#include "orbsvcs/Event/EC_Default_Factory.h" -#include "ace/Get_Opt.h" - -ACE_RCSID(EC_Examples, Service, "$Id$") - -const char *ior_output_file = "ec.ior"; - -int parse_args (int argc, char *argv[]); - -int -main (int argc, char* argv[]) -{ - TAO_EC_Default_Factory::init_svcs (); - - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - // ORB initialization boiler plate... - CORBA::ORB_var orb = - CORBA::ORB_init (argc, argv, "", ACE_TRY_ENV); - ACE_TRY_CHECK; - - if (parse_args (argc, argv) == -1) - { - ACE_ERROR ((LM_ERROR, - "Usage: Service [-o IOR_file_name]\n")); - return 1; - } - - CORBA::Object_var object = - orb->resolve_initial_references ("RootPOA", ACE_TRY_ENV); - ACE_TRY_CHECK; - PortableServer::POA_var poa = - PortableServer::POA::_narrow (object.in (), ACE_TRY_ENV); - ACE_TRY_CHECK; - PortableServer::POAManager_var poa_manager = - poa->the_POAManager (ACE_TRY_ENV); - ACE_TRY_CHECK; - poa_manager->activate (ACE_TRY_ENV); - ACE_TRY_CHECK; - - TAO_EC_Event_Channel_Attributes attributes (poa.in (), - poa.in ()); - - TAO_EC_Event_Channel ec_impl (attributes); - ec_impl.activate (ACE_TRY_ENV); - ACE_TRY_CHECK; - - RtecEventChannelAdmin::EventChannel_var event_channel = - ec_impl._this (ACE_TRY_ENV); - ACE_TRY_CHECK; - - CORBA::String_var ior = - orb->object_to_string (event_channel.in (), ACE_TRY_ENV); - ACE_TRY_CHECK; - - ACE_DEBUG ((LM_DEBUG, "Activated as <%s>\n", ior.in ())); - - // If the ior_output_file exists, output the ior to it - if (ior_output_file != 0) - { - FILE *output_file= ACE_OS::fopen (ior_output_file, "w"); - if (output_file == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "Cannot open output file for writing IOR: %s", - ior_output_file), - 1); - ACE_OS::fprintf (output_file, "%s", ior.in ()); - ACE_OS::fclose (output_file); - } - - // Wait for events, using work_pending()/perform_work() may help - // or using another thread, this example is too simple for that. - orb->run (); - - // We don't do any cleanup, it is hard to do it after shutdown, - // and would complicate the example; plus it is almost - // impossible to do cleanup after ORB->run() because the POA is - // in the holding state. Applications should use - // work_pending()/perform_work() to do more interesting stuff. - // Check the supplier for the proper way to do cleanup. - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Service"); - return 1; - } - ACE_ENDTRY; - return 0; -} - -// **************************************************************** - -int parse_args (int argc, char *argv[]) -{ - ACE_Get_Opt get_opts (argc, argv, "o:"); - int c; - - while ((c = get_opts ()) != -1) - switch (c) - { - case 'o': - ior_output_file = get_opts.optarg; - break; - - case '?': - default: - ACE_ERROR_RETURN ((LM_ERROR, - "usage: %s " - "-o <iorfile>" - "\n", - argv [0]), - -1); - } - // Indicates sucessful parsing of the command line - return 0; -} - -// **************************************************************** - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -#elif defined(ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ |