diff options
Diffstat (limited to 'TAO/orbsvcs/examples/RtEC/Simple/Supplier.cpp')
-rw-r--r-- | TAO/orbsvcs/examples/RtEC/Simple/Supplier.cpp | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/TAO/orbsvcs/examples/RtEC/Simple/Supplier.cpp b/TAO/orbsvcs/examples/RtEC/Simple/Supplier.cpp deleted file mode 100644 index 8bf5c6348e5..00000000000 --- a/TAO/orbsvcs/examples/RtEC/Simple/Supplier.cpp +++ /dev/null @@ -1,145 +0,0 @@ -// $Id$ - -#include "Supplier.h" -#include "orbsvcs/RtecEventChannelAdminS.h" -#include "orbsvcs/Event_Service_Constants.h" - -ACE_RCSID(EC_Examples, Supplier, "$Id$") - -int -main (int argc, char* argv[]) -{ - Supplier supplier; - - return supplier.run (argc, argv); -} - -// **************************************************************** - -Supplier::Supplier (void) -{ -} - -int -Supplier::run (int argc, char* argv[]) -{ - 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 (argc <= 1) - { - ACE_ERROR ((LM_ERROR, - "Usage: Supplier <event_channel_ior>\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; - - // Obtain the event channel, we could use a naming service, a - // command line argument or resolve_initial_references(), but - // this is simpler... - object = - orb->string_to_object (argv[1], ACE_TRY_ENV); - ACE_TRY_CHECK; - - RtecEventChannelAdmin::EventChannel_var event_channel = - RtecEventChannelAdmin::EventChannel::_narrow (object.in (), - ACE_TRY_ENV); - ACE_TRY_CHECK; - - // The canonical protocol to connect to the EC - RtecEventChannelAdmin::SupplierAdmin_var supplier_admin = - event_channel->for_suppliers (ACE_TRY_ENV); - ACE_TRY_CHECK; - - RtecEventChannelAdmin::ProxyPushConsumer_var consumer = - supplier_admin->obtain_push_consumer (ACE_TRY_ENV); - ACE_TRY_CHECK; - - RtecEventComm::PushSupplier_var supplier = - this->_this (ACE_TRY_ENV); - ACE_TRY_CHECK; - - // Simple publication, but usually the helper classes in - // $TAO_ROOT/orbsvcs/Event_Utils.h are a better way to do this. - RtecEventChannelAdmin::SupplierQOS qos; - qos.publications.length (1); - RtecEventComm::EventHeader& h0 = - qos.publications[0].event.header; - h0.type = ACE_ES_EVENT_UNDEFINED; // first free event type - h0.source = 1; // first free event source - - consumer->connect_push_supplier (supplier.in (), qos, - ACE_TRY_ENV); - ACE_TRY_CHECK; - - // Push the events... - ACE_Time_Value sleep_time (0, 10000); // 10 milliseconds - - RtecEventComm::EventSet event (1); - event.length (1); - event[0].header.type = ACE_ES_EVENT_UNDEFINED; - event[0].header.source = 1; - event[0].header.ttl = 1; - - for (int i = 0; i != 2000; ++i) - { - consumer->push (event, ACE_TRY_ENV); - ACE_TRY_CHECK; - ACE_OS::sleep (sleep_time); - } - - // Disconnect from the EC - consumer->disconnect_push_consumer (ACE_TRY_ENV); - ACE_TRY_CHECK; - - // Destroy the EC.... - event_channel->destroy (ACE_TRY_ENV); - ACE_TRY_CHECK; - - // Deactivate this object... - PortableServer::ObjectId_var id = - poa->servant_to_id (this, ACE_TRY_ENV); - ACE_TRY_CHECK; - poa->deactivate_object (id.in (), ACE_TRY_ENV); - ACE_TRY_CHECK; - - // Destroy the POA - poa->destroy (1, 0, ACE_TRY_ENV); - ACE_TRY_CHECK; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Supplier::run"); - return 1; - } - ACE_ENDTRY; - return 0; -} - -void -Supplier::disconnect_push_supplier (CORBA::Environment &) - ACE_THROW_SPEC ((CORBA::SystemException)) -{ -} - -// **************************************************************** - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -#elif defined(ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ |