diff options
author | pradeep <pradeep@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-03-05 01:38:23 +0000 |
---|---|---|
committer | pradeep <pradeep@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-03-05 01:38:23 +0000 |
commit | 18f7ef1ce5126699847b790f4ee99b671b51d07d (patch) | |
tree | a687a6dceb0df7d73aebd4c37a33505356776537 /TAO/orbsvcs/examples | |
parent | bec62a601e85fcc644b01a36b8b494ee513fa268 (diff) | |
download | ATCD-18f7ef1ce5126699847b790f4ee99b671b51d07d.tar.gz |
Sat Mar 4 18:11:28 2000 Pradeep Gore <pradeep@flamenco.cs.wustl.edu>
Diffstat (limited to 'TAO/orbsvcs/examples')
-rw-r--r-- | TAO/orbsvcs/examples/Notify/Filter/Filter.cpp | 42 | ||||
-rw-r--r-- | TAO/orbsvcs/examples/Notify/Subscribe/Makefile | 687 | ||||
-rw-r--r-- | TAO/orbsvcs/examples/Notify/Subscribe/Subscribe.cpp | 336 | ||||
-rw-r--r-- | TAO/orbsvcs/examples/Notify/Subscribe/Subscribe.h | 109 | ||||
-rw-r--r-- | TAO/orbsvcs/examples/Notify/Subscribe/main.cpp | 35 |
5 files changed, 1181 insertions, 28 deletions
diff --git a/TAO/orbsvcs/examples/Notify/Filter/Filter.cpp b/TAO/orbsvcs/examples/Notify/Filter/Filter.cpp index 3e29cc0544f..93634cae215 100644 --- a/TAO/orbsvcs/examples/Notify/Filter/Filter.cpp +++ b/TAO/orbsvcs/examples/Notify/Filter/Filter.cpp @@ -20,17 +20,9 @@ public: myname_ = myname; } - virtual void open (CosNotifyChannelAdmin::ConsumerAdmin_ptr consumer_admin, - CORBA::Environment& ACE_TRY_ENV) - { - TAO_Notify_StructuredPushConsumer::open (consumer_admin, ACE_TRY_ENV); - - // setup our filters - } - virtual void push_structured_event ( const CosNotification::StructuredEvent & notification, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &/*ACE_TRY_ENV*/ ) ACE_THROW_SPEC (( CORBA::SystemException, @@ -121,19 +113,19 @@ FilterClient::init_ORB (int argc, ACE_TRY_ENV); ACE_CHECK; - CORBA::Object_var poa_object = + CORBA::Object_ptr poa_object = this->orb_->resolve_initial_references("RootPOA", ACE_TRY_ENV); ACE_CHECK; - if (CORBA::is_nil (poa_object.in ())) + if (CORBA::is_nil (poa_object)) { ACE_ERROR ((LM_ERROR, " (%P|%t) Unable to initialize the POA.\n")); return; } this->root_poa_ = - PortableServer::POA::_narrow (poa_object.in (), + PortableServer::POA::_narrow (poa_object, ACE_TRY_ENV); ACE_CHECK; @@ -197,7 +189,7 @@ FilterClient::create_EC (CORBA::Environment &ACE_TRY_ENV) void FilterClient::create_supplieradmin (CORBA::Environment &ACE_TRY_ENV) { - CosNotifyChannelAdmin::AdminID adminid; + CosNotifyChannelAdmin::AdminID adminid = 0; supplier_admin_ = ec_->new_for_suppliers (this->ifgop_, adminid, ACE_TRY_ENV); @@ -225,7 +217,6 @@ FilterClient::create_supplieradmin (CORBA::Environment &ACE_TRY_ENV) sa_filter->add_constraints (constraint_list, ACE_TRY_ENV); ACE_CHECK; - CosNotifyFilter::FilterID filter_id; supplier_admin_->add_filter (sa_filter.in (), ACE_TRY_ENV); ACE_CHECK; } @@ -233,7 +224,7 @@ FilterClient::create_supplieradmin (CORBA::Environment &ACE_TRY_ENV) void FilterClient:: create_consumeradmin (CORBA::Environment &ACE_TRY_ENV) { - CosNotifyChannelAdmin::AdminID adminid; + CosNotifyChannelAdmin::AdminID adminid = 0; consumer_admin_ = ec_->new_for_consumers (this->ifgop_, adminid, ACE_TRY_ENV); @@ -266,7 +257,6 @@ FilterClient:: create_consumeradmin (CORBA::Environment &ACE_TRY_ENV) ca_filter->add_constraints (constraint_list, ACE_TRY_ENV); ACE_CHECK; - CosNotifyFilter::FilterID filter_id; consumer_admin_->add_filter (ca_filter.in (), ACE_TRY_ENV); ACE_CHECK; } @@ -279,11 +269,10 @@ FilterClient::create_consumers (CORBA::Environment &ACE_TRY_ENV) PushConsumer ("consumer1"), CORBA::NO_MEMORY ()); - consumer_1->open (consumer_admin_.in (), - ACE_TRY_ENV); + consumer_1->init (this->root_poa_.in (), ACE_TRY_ENV); ACE_CHECK; - consumer_1->connect (ACE_TRY_ENV); + consumer_1->connect (consumer_admin_.in (), ACE_TRY_ENV); ACE_CHECK; // startup the second consumer. @@ -291,11 +280,10 @@ FilterClient::create_consumers (CORBA::Environment &ACE_TRY_ENV) PushConsumer ("consumer1"), CORBA::NO_MEMORY ()); - consumer_2->open (consumer_admin_.in (), - ACE_TRY_ENV); + consumer_2->init (this->root_poa_.in (), ACE_TRY_ENV); ACE_CHECK; - consumer_2->connect (ACE_TRY_ENV); + consumer_2->connect (consumer_admin_.in (), ACE_TRY_ENV); ACE_CHECK; } @@ -307,11 +295,10 @@ FilterClient::create_suppliers (CORBA::Environment &ACE_TRY_ENV) PushSupplier ("supplier1"), CORBA::NO_MEMORY ()); - supplier_1->open (supplier_admin_.in (), - ACE_TRY_ENV); + supplier_1->init (this->root_poa_.in (), ACE_TRY_ENV); ACE_CHECK; - supplier_1->connect (ACE_TRY_ENV); + supplier_1->connect (supplier_admin_.in (), ACE_TRY_ENV); ACE_CHECK; // startup the second supplier @@ -319,11 +306,10 @@ FilterClient::create_suppliers (CORBA::Environment &ACE_TRY_ENV) PushSupplier ("supplier2"), CORBA::NO_MEMORY ()); - supplier_2->open (supplier_admin_.in (), - ACE_TRY_ENV); + supplier_2->init (this->root_poa_.in (), ACE_TRY_ENV); ACE_CHECK; - supplier_2->connect (ACE_TRY_ENV); + supplier_2->connect (supplier_admin_.in (), ACE_TRY_ENV); ACE_CHECK; } diff --git a/TAO/orbsvcs/examples/Notify/Subscribe/Makefile b/TAO/orbsvcs/examples/Notify/Subscribe/Makefile new file mode 100644 index 00000000000..ac0e23939f2 --- /dev/null +++ b/TAO/orbsvcs/examples/Notify/Subscribe/Makefile @@ -0,0 +1,687 @@ +#---------------------------------------------------------------------------- +# +# $Id$ +# +#---------------------------------------------------------------------------- + +#---------------------------------------------------------------------------- +# Local macros +#---------------------------------------------------------------------------- + +ifndef TAO_ROOT + TAO_ROOT = $(ACE_ROOT)/TAO +endif + +LDLIBS = -lorbsvcs -lTAO + +LSRC = Subscribe.cpp main.cpp + +SUBSCRIBE_OBJS = $(LSRC:.cpp=.o) + +BIN2 = Subscribe + +#### If the TAO orbsvcs library wasn't built with sufficient components, +#### don't try to build here. +TAO_ORBSVCS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs) +ifeq (Notify,$(findstring Notify,$(TAO_ORBSVCS))) + ifeq (Naming,$(findstring Naming,$(TAO_ORBSVCS))) + BIN = $(BIN2) + endif # Naming +endif # Notify + +#---------------------------------------------------------------------------- +# Include macros and targets +#---------------------------------------------------------------------------- + +include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU +include $(ACE_ROOT)/include/makeinclude/macros.GNU +include $(TAO_ROOT)/rules.tao.GNU +include $(ACE_ROOT)/include/makeinclude/rules.common.GNU +include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU +include $(ACE_ROOT)/include/makeinclude/rules.local.GNU +include $(TAO_ROOT)/taoconfig.mk + +#---------------------------------------------------------------------------- +# Local targets +#---------------------------------------------------------------------------- + + +LDFLAGS += -L$(TAO_ROOT)/orbsvcs/orbsvcs -L$(TAO_ROOT)/tao -L$(TAO_ROOT)/orbsvcs/Naming_Service +CPPFLAGS += -I$(TAO_ROOT)/orbsvcs + +override TAO_IDLFLAGS += -I$(TAO_ROOT)/orbsvcs -Ge 1 + +Subscribe : $(addprefix $(VDIR),$(SUBSCRIBE_OBJS)) + $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) + +realclean: clean + +#---------------------------------------------------------------------------- +# Dependencies +#---------------------------------------------------------------------------- + +# DO NOT DELETE THIS LINE -- g++dep uses it. +# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. + + +.obj/Subscribe.o .obj/Subscribe.so .shobj/Subscribe.o .shobj/Subscribe.so: Subscribe.cpp Subscribe.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyChannelAdminC.h \ + $(TAO_ROOT)/tao/corba.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/inc_user_config.h \ + $(ACE_ROOT)/ace/config-sunos5.6.h \ + $(ACE_ROOT)/ace/config-sunos5.5.h \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(TAO_ROOT)/tao/corbafwd.h \ + $(ACE_ROOT)/ace/CDR_Stream.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Based_Pointer_T.h \ + $(ACE_ROOT)/ace/Based_Pointer_T.i \ + $(ACE_ROOT)/ace/Based_Pointer_T.cpp \ + $(ACE_ROOT)/ace/Based_Pointer_Repository.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(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.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.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/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(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/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/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/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(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/SString.h \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/CDR_Stream.i \ + $(TAO_ROOT)/tao/try_macros.h \ + $(TAO_ROOT)/tao/orbconf.h \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/corbafwd.i \ + $(TAO_ROOT)/tao/Environment.h \ + $(TAO_ROOT)/tao/Environment.i \ + $(TAO_ROOT)/tao/ORB.h \ + $(TAO_ROOT)/tao/Exception.h \ + $(TAO_ROOT)/tao/Exception.i \ + $(TAO_ROOT)/tao/IOR_LookupTable.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager.i \ + $(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/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 \ + $(TAO_ROOT)/tao/Services.h \ + $(TAO_ROOT)/tao/Sequence.h \ + $(TAO_ROOT)/tao/Managed_Types.h \ + $(TAO_ROOT)/tao/Managed_Types.i \ + $(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/varout.h \ + $(TAO_ROOT)/tao/Object.h \ + $(TAO_ROOT)/tao/Object.i \ + $(TAO_ROOT)/tao/varout.i \ + $(TAO_ROOT)/tao/varout.cpp \ + $(TAO_ROOT)/tao/Services.i \ + $(TAO_ROOT)/tao/IORManipulation.h \ + $(TAO_ROOT)/tao/IORS.h \ + $(TAO_ROOT)/tao/IORC.h \ + $(TAO_ROOT)/tao/CDR.h \ + $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Typecode.i \ + $(TAO_ROOT)/tao/CDR.i \ + $(TAO_ROOT)/tao/IORC.i \ + $(TAO_ROOT)/tao/Servant_Base.h \ + $(TAO_ROOT)/tao/POAC.h \ + $(TAO_ROOT)/tao/PolicyC.h \ + $(TAO_ROOT)/tao/CurrentC.h \ + $(TAO_ROOT)/tao/CurrentC.i \ + $(TAO_ROOT)/tao/PolicyC.i \ + $(TAO_ROOT)/tao/POAC.i \ + $(TAO_ROOT)/tao/Servant_Base.i \ + $(TAO_ROOT)/tao/IORS.i \ + $(TAO_ROOT)/tao/Interceptor.h \ + $(TAO_ROOT)/tao/InterceptorS.h \ + $(TAO_ROOT)/tao/InterceptorC.h \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/IOPC.i \ + $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/Any.i \ + $(TAO_ROOT)/tao/InterceptorC.i \ + $(TAO_ROOT)/tao/Interceptor.i \ + $(TAO_ROOT)/tao/ORB.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/Context.h \ + $(TAO_ROOT)/tao/Context.i \ + $(TAO_ROOT)/tao/MessagingC.h \ + $(TAO_ROOT)/tao/TimeBaseC.h \ + $(TAO_ROOT)/tao/TimeBaseC.i \ + $(TAO_ROOT)/tao/PollableC.h \ + $(TAO_ROOT)/tao/MessagingC.i \ + $(TAO_ROOT)/tao/Request.i \ + $(TAO_ROOT)/tao/Server_Request.h \ + $(TAO_ROOT)/tao/Object_KeyC.h \ + $(TAO_ROOT)/tao/Object_KeyC.i \ + $(TAO_ROOT)/tao/GIOP.h \ + $(TAO_ROOT)/tao/GIOP.i \ + $(TAO_ROOT)/tao/Server_Request.i \ + $(TAO_ROOT)/tao/Marshal.h \ + $(TAO_ROOT)/tao/Marshal.i \ + $(TAO_ROOT)/tao/singletons.h \ + $(TAO_ROOT)/tao/POA.h \ + $(TAO_ROOT)/tao/Object_Adapter.h \ + $(TAO_ROOT)/tao/Key_Adapters.h \ + $(ACE_ROOT)/ace/Map.h \ + $(ACE_ROOT)/ace/Map.i \ + $(ACE_ROOT)/ace/Map_T.h \ + $(ACE_ROOT)/ace/Pair.h \ + $(ACE_ROOT)/ace/Pair.i \ + $(ACE_ROOT)/ace/Pair_T.h \ + $(ACE_ROOT)/ace/Pair_T.i \ + $(ACE_ROOT)/ace/Pair_T.cpp \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Active_Map_Manager.h \ + $(ACE_ROOT)/ace/Active_Map_Manager.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Map_T.i \ + $(ACE_ROOT)/ace/Map_T.cpp \ + $(TAO_ROOT)/tao/Key_Adapters.i \ + $(TAO_ROOT)/tao/Server_Strategy_Factory.h \ + $(TAO_ROOT)/tao/poa_macros.h \ + $(TAO_ROOT)/tao/POAS.h \ + $(TAO_ROOT)/tao/POA_CORBA.h \ + $(TAO_ROOT)/tao/DynAnyC.h \ + $(TAO_ROOT)/tao/DynAnyC.i \ + $(TAO_ROOT)/tao/DomainC.h \ + $(TAO_ROOT)/tao/DomainC.i \ + $(TAO_ROOT)/tao/POAS.i \ + $(TAO_ROOT)/tao/Active_Object_Map.h \ + $(TAO_ROOT)/tao/Active_Object_Map.i \ + $(TAO_ROOT)/tao/Object_Adapter.i \ + $(TAO_ROOT)/tao/POAManager.h \ + $(TAO_ROOT)/tao/POAManager.i \ + $(TAO_ROOT)/tao/ImplRepoC.h \ + $(TAO_ROOT)/tao/Operation_Table.h \ + $(TAO_ROOT)/tao/Stub.h \ + $(TAO_ROOT)/tao/Pluggable.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(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/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/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Strategies.i \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(TAO_ROOT)/tao/Pluggable.i \ + $(TAO_ROOT)/tao/MProfile.h \ + $(TAO_ROOT)/tao/Profile.h \ + $(TAO_ROOT)/tao/Tagged_Components.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.i \ + $(TAO_ROOT)/tao/Tagged_Components.i \ + $(TAO_ROOT)/tao/Profile.i \ + $(TAO_ROOT)/tao/MProfile.i \ + $(TAO_ROOT)/tao/Stub.i \ + $(TAO_ROOT)/tao/ORB_Core.h \ + $(TAO_ROOT)/tao/Policy_Manager.h \ + $(TAO_ROOT)/tao/Policy_Manager.i \ + $(TAO_ROOT)/tao/Resource_Factory.h \ + $(TAO_ROOT)/tao/Protocol_Factory.h \ + $(TAO_ROOT)/tao/params.h \ + $(TAO_ROOT)/tao/params.i \ + $(TAO_ROOT)/tao/ORB_Core.i \ + $(ACE_ROOT)/ace/Dynamic_Service.h \ + $(ACE_ROOT)/ace/Dynamic_Service.cpp \ + $(TAO_ROOT)/tao/Invocation.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.i \ + $(TAO_ROOT)/tao/TAOC.h \ + $(TAO_ROOT)/tao/TAOC.i \ + $(TAO_ROOT)/tao/Invocation.i \ + $(TAO_ROOT)/tao/ImplRepoC.i \ + $(TAO_ROOT)/tao/POA.i \ + $(TAO_ROOT)/tao/debug.h \ + $(TAO_ROOT)/tao/Client_Strategy_Factory.h \ + $(TAO_ROOT)/tao/InconsistentTypeCodeC.h \ + $(TAO_ROOT)/tao/DynAny_i.h \ + $(TAO_ROOT)/tao/Union.h \ + $(TAO_ROOT)/tao/ValueBase.h \ + $(TAO_ROOT)/tao/ValueBase.i \ + $(TAO_ROOT)/tao/ValueFactory.h \ + $(TAO_ROOT)/tao/ValueFactory.i \ + $(TAO_ROOT)/tao/ObjectIDList.h \ + $(TAO_ROOT)/tao/ObjectIDList.i \ + $(TAO_ROOT)/tao/WrongTransactionC.h \ + $(TAO_ROOT)/tao/InterfaceC.h \ + $(TAO_ROOT)/tao/BoundsC.h \ + $(TAO_ROOT)/tao/BoundsC.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/orbsvcs_export.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotificationC.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotificationC.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyFilterC.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyCommC.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosEventCommC.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosEventCommC.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyCommC.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyFilterC.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosEventChannelAdminC.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosEventChannelAdminC.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyChannelAdminC.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/Notify/Notify_PushConsumer.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyChannelAdminS.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotificationS.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotificationS_T.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotificationS_T.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotificationS_T.cpp \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotificationS.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyFilterS.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyCommS.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosEventCommS.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosEventCommS_T.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosEventCommS_T.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosEventCommS_T.cpp \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosEventCommS.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyCommS_T.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyCommS_T.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyCommS_T.cpp \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyCommS.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyFilterS_T.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyFilterS_T.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyFilterS_T.cpp \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyFilterS.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosEventChannelAdminS.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosEventChannelAdminS_T.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosEventChannelAdminS_T.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosEventChannelAdminS_T.cpp \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosEventChannelAdminS.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyChannelAdminS_T.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyChannelAdminS_T.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyChannelAdminS_T.cpp \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyChannelAdminS.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/Notify/Notify_PushSupplier.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/Notify/Notify_StructuredPushSupplier.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/Notify/Notify_StructuredPushConsumer.h + +.obj/main.o .obj/main.so .shobj/main.o .shobj/main.so: main.cpp Subscribe.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyChannelAdminC.h \ + $(TAO_ROOT)/tao/corba.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/inc_user_config.h \ + $(ACE_ROOT)/ace/config-sunos5.6.h \ + $(ACE_ROOT)/ace/config-sunos5.5.h \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(TAO_ROOT)/tao/corbafwd.h \ + $(ACE_ROOT)/ace/CDR_Stream.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Based_Pointer_T.h \ + $(ACE_ROOT)/ace/Based_Pointer_T.i \ + $(ACE_ROOT)/ace/Based_Pointer_T.cpp \ + $(ACE_ROOT)/ace/Based_Pointer_Repository.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(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.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.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/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(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/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/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/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(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/SString.h \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/CDR_Stream.i \ + $(TAO_ROOT)/tao/try_macros.h \ + $(TAO_ROOT)/tao/orbconf.h \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/corbafwd.i \ + $(TAO_ROOT)/tao/Environment.h \ + $(TAO_ROOT)/tao/Environment.i \ + $(TAO_ROOT)/tao/ORB.h \ + $(TAO_ROOT)/tao/Exception.h \ + $(TAO_ROOT)/tao/Exception.i \ + $(TAO_ROOT)/tao/IOR_LookupTable.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager.i \ + $(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/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 \ + $(TAO_ROOT)/tao/Services.h \ + $(TAO_ROOT)/tao/Sequence.h \ + $(TAO_ROOT)/tao/Managed_Types.h \ + $(TAO_ROOT)/tao/Managed_Types.i \ + $(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/varout.h \ + $(TAO_ROOT)/tao/Object.h \ + $(TAO_ROOT)/tao/Object.i \ + $(TAO_ROOT)/tao/varout.i \ + $(TAO_ROOT)/tao/varout.cpp \ + $(TAO_ROOT)/tao/Services.i \ + $(TAO_ROOT)/tao/IORManipulation.h \ + $(TAO_ROOT)/tao/IORS.h \ + $(TAO_ROOT)/tao/IORC.h \ + $(TAO_ROOT)/tao/CDR.h \ + $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Typecode.i \ + $(TAO_ROOT)/tao/CDR.i \ + $(TAO_ROOT)/tao/IORC.i \ + $(TAO_ROOT)/tao/Servant_Base.h \ + $(TAO_ROOT)/tao/POAC.h \ + $(TAO_ROOT)/tao/PolicyC.h \ + $(TAO_ROOT)/tao/CurrentC.h \ + $(TAO_ROOT)/tao/CurrentC.i \ + $(TAO_ROOT)/tao/PolicyC.i \ + $(TAO_ROOT)/tao/POAC.i \ + $(TAO_ROOT)/tao/Servant_Base.i \ + $(TAO_ROOT)/tao/IORS.i \ + $(TAO_ROOT)/tao/Interceptor.h \ + $(TAO_ROOT)/tao/InterceptorS.h \ + $(TAO_ROOT)/tao/InterceptorC.h \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/IOPC.i \ + $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/Any.i \ + $(TAO_ROOT)/tao/InterceptorC.i \ + $(TAO_ROOT)/tao/Interceptor.i \ + $(TAO_ROOT)/tao/ORB.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/Context.h \ + $(TAO_ROOT)/tao/Context.i \ + $(TAO_ROOT)/tao/MessagingC.h \ + $(TAO_ROOT)/tao/TimeBaseC.h \ + $(TAO_ROOT)/tao/TimeBaseC.i \ + $(TAO_ROOT)/tao/PollableC.h \ + $(TAO_ROOT)/tao/MessagingC.i \ + $(TAO_ROOT)/tao/Request.i \ + $(TAO_ROOT)/tao/Server_Request.h \ + $(TAO_ROOT)/tao/Object_KeyC.h \ + $(TAO_ROOT)/tao/Object_KeyC.i \ + $(TAO_ROOT)/tao/GIOP.h \ + $(TAO_ROOT)/tao/GIOP.i \ + $(TAO_ROOT)/tao/Server_Request.i \ + $(TAO_ROOT)/tao/Marshal.h \ + $(TAO_ROOT)/tao/Marshal.i \ + $(TAO_ROOT)/tao/singletons.h \ + $(TAO_ROOT)/tao/POA.h \ + $(TAO_ROOT)/tao/Object_Adapter.h \ + $(TAO_ROOT)/tao/Key_Adapters.h \ + $(ACE_ROOT)/ace/Map.h \ + $(ACE_ROOT)/ace/Map.i \ + $(ACE_ROOT)/ace/Map_T.h \ + $(ACE_ROOT)/ace/Pair.h \ + $(ACE_ROOT)/ace/Pair.i \ + $(ACE_ROOT)/ace/Pair_T.h \ + $(ACE_ROOT)/ace/Pair_T.i \ + $(ACE_ROOT)/ace/Pair_T.cpp \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Active_Map_Manager.h \ + $(ACE_ROOT)/ace/Active_Map_Manager.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Map_T.i \ + $(ACE_ROOT)/ace/Map_T.cpp \ + $(TAO_ROOT)/tao/Key_Adapters.i \ + $(TAO_ROOT)/tao/Server_Strategy_Factory.h \ + $(TAO_ROOT)/tao/poa_macros.h \ + $(TAO_ROOT)/tao/POAS.h \ + $(TAO_ROOT)/tao/POA_CORBA.h \ + $(TAO_ROOT)/tao/DynAnyC.h \ + $(TAO_ROOT)/tao/DynAnyC.i \ + $(TAO_ROOT)/tao/DomainC.h \ + $(TAO_ROOT)/tao/DomainC.i \ + $(TAO_ROOT)/tao/POAS.i \ + $(TAO_ROOT)/tao/Active_Object_Map.h \ + $(TAO_ROOT)/tao/Active_Object_Map.i \ + $(TAO_ROOT)/tao/Object_Adapter.i \ + $(TAO_ROOT)/tao/POAManager.h \ + $(TAO_ROOT)/tao/POAManager.i \ + $(TAO_ROOT)/tao/ImplRepoC.h \ + $(TAO_ROOT)/tao/Operation_Table.h \ + $(TAO_ROOT)/tao/Stub.h \ + $(TAO_ROOT)/tao/Pluggable.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(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/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/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Strategies.i \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(TAO_ROOT)/tao/Pluggable.i \ + $(TAO_ROOT)/tao/MProfile.h \ + $(TAO_ROOT)/tao/Profile.h \ + $(TAO_ROOT)/tao/Tagged_Components.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.i \ + $(TAO_ROOT)/tao/Tagged_Components.i \ + $(TAO_ROOT)/tao/Profile.i \ + $(TAO_ROOT)/tao/MProfile.i \ + $(TAO_ROOT)/tao/Stub.i \ + $(TAO_ROOT)/tao/ORB_Core.h \ + $(TAO_ROOT)/tao/Policy_Manager.h \ + $(TAO_ROOT)/tao/Policy_Manager.i \ + $(TAO_ROOT)/tao/Resource_Factory.h \ + $(TAO_ROOT)/tao/Protocol_Factory.h \ + $(TAO_ROOT)/tao/params.h \ + $(TAO_ROOT)/tao/params.i \ + $(TAO_ROOT)/tao/ORB_Core.i \ + $(ACE_ROOT)/ace/Dynamic_Service.h \ + $(ACE_ROOT)/ace/Dynamic_Service.cpp \ + $(TAO_ROOT)/tao/Invocation.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.i \ + $(TAO_ROOT)/tao/TAOC.h \ + $(TAO_ROOT)/tao/TAOC.i \ + $(TAO_ROOT)/tao/Invocation.i \ + $(TAO_ROOT)/tao/ImplRepoC.i \ + $(TAO_ROOT)/tao/POA.i \ + $(TAO_ROOT)/tao/debug.h \ + $(TAO_ROOT)/tao/Client_Strategy_Factory.h \ + $(TAO_ROOT)/tao/InconsistentTypeCodeC.h \ + $(TAO_ROOT)/tao/DynAny_i.h \ + $(TAO_ROOT)/tao/Union.h \ + $(TAO_ROOT)/tao/ValueBase.h \ + $(TAO_ROOT)/tao/ValueBase.i \ + $(TAO_ROOT)/tao/ValueFactory.h \ + $(TAO_ROOT)/tao/ValueFactory.i \ + $(TAO_ROOT)/tao/ObjectIDList.h \ + $(TAO_ROOT)/tao/ObjectIDList.i \ + $(TAO_ROOT)/tao/WrongTransactionC.h \ + $(TAO_ROOT)/tao/InterfaceC.h \ + $(TAO_ROOT)/tao/BoundsC.h \ + $(TAO_ROOT)/tao/BoundsC.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/orbsvcs_export.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotificationC.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotificationC.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyFilterC.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyCommC.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosEventCommC.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosEventCommC.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyCommC.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyFilterC.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosEventChannelAdminC.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosEventChannelAdminC.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNotifyChannelAdminC.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i + +# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/TAO/orbsvcs/examples/Notify/Subscribe/Subscribe.cpp b/TAO/orbsvcs/examples/Notify/Subscribe/Subscribe.cpp new file mode 100644 index 00000000000..f359a7336b4 --- /dev/null +++ b/TAO/orbsvcs/examples/Notify/Subscribe/Subscribe.cpp @@ -0,0 +1,336 @@ +/* -*- C++ -*- $Id$ */ +#include "Subscribe.h" +#include "orbsvcs/Notify/Notify_PushConsumer.h" +#include "orbsvcs/Notify/Notify_PushSupplier.h" +#include "orbsvcs/Notify/Notify_StructuredPushSupplier.h" +#include "orbsvcs/Notify/Notify_StructuredPushConsumer.h" + +#define NOTIFY_FACTORY_NAME "NotifyEventChannelFactory" +#define NAMING_SERVICE_NAME "NameService" + +class Subscribe_Consumer : public TAO_Notify_PushConsumer +{ +public: + void push ( + const CORBA::Any & data, + CORBA::Environment &/*ACE_TRY_ENV*/ + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + CosEventComm::Disconnected + )) + { + const char* value; + data >>= value; + + ACE_DEBUG ((LM_DEBUG, "Subscribe Consumer received an event %s!\n", + value)); + } +}; + +class Subscribe_Supplier : public TAO_Notify_PushSupplier +{ +}; + + +class Subscribe_StructuredConsumer : public TAO_Notify_StructuredPushConsumer +{ +public: + void push_structured_event ( + const CosNotification::StructuredEvent & notification, + CORBA::Environment &/*ACE_TRY_ENV*/ + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + CosEventComm::Disconnected + )) + { + const char* domain_name = + notification.header.fixed_header.event_type.domain_name; + + const char* type_name = + notification.header.fixed_header.event_type.type_name; + + ACE_DEBUG ((LM_DEBUG, "Structured Subscribe Consumer %d received event, domain = %s, type = %s\n", + this->proxy_id_, domain_name, type_name)); + } +}; + +class Subscribe_StructuredSupplier : public TAO_Notify_StructuredPushSupplier +{ +}; + + +Subscribe::Subscribe (void) +{ + // No-Op. + ifgop_ = CosNotifyChannelAdmin::OR_OP; +} + +Subscribe::~Subscribe () +{ + // No-Op. +} + +void +Subscribe::init (int argc, char *argv [], CORBA::Environment &ACE_TRY_ENV) +{ + init_ORB (argc, argv, ACE_TRY_ENV); + ACE_CHECK; + resolve_naming_service (ACE_TRY_ENV); + ACE_CHECK; + resolve_Notify_factory (ACE_TRY_ENV); + ACE_CHECK; + create_EC (ACE_TRY_ENV); + ACE_CHECK; + create_supplieradmin (ACE_TRY_ENV); + ACE_CHECK; + create_consumeradmin (ACE_TRY_ENV); + ACE_CHECK; + create_consumers (ACE_TRY_ENV); + ACE_CHECK; + create_suppliers (ACE_TRY_ENV); + ACE_CHECK; +} + +void +Subscribe::run (CORBA::Environment &ACE_TRY_ENV) +{ + this->send_events (ACE_TRY_ENV); + ACE_CHECK; +} + +/* +void +Subscribe::run (CORBA::Environment &ACE_TRY_ENV) +{ + Subscribe_Consumer* sc = new Subscribe_Consumer (); + sc->init (this->root_poa_.in (), ACE_TRY_ENV); + ACE_CHECK; + sc->connect (this->consumer_admin_, ACE_TRY_ENV); + ACE_CHECK; + + Subscribe_Supplier* ss = new Subscribe_Supplier (); + ss->init (this->root_poa_.in (), ACE_TRY_ENV); + ACE_CHECK; + ss->connect (this->supplier_admin_, ACE_TRY_ENV); + ACE_CHECK; + + CORBA::Any event; + event <<= CORBA::string_dup("pressure"); + + ss->send_event (event, ACE_TRY_ENV); + ACE_CHECK; + + // send_events (ACE_TRY_ENV); + // ACE_CHECK; +} +*/ + +void +Subscribe::init_ORB (int argc, + char *argv [], + CORBA::Environment &ACE_TRY_ENV) +{ + this->orb_ = CORBA::ORB_init (argc, + argv, + "", + ACE_TRY_ENV); + ACE_CHECK; + + CORBA::Object_ptr poa_object = + this->orb_->resolve_initial_references("RootPOA", + ACE_TRY_ENV); + ACE_CHECK; + + if (CORBA::is_nil (poa_object)) + { + ACE_ERROR ((LM_ERROR, + " (%P|%t) Unable to initialize the POA.\n")); + return; + } + this->root_poa_ = + PortableServer::POA::_narrow (poa_object, ACE_TRY_ENV); + ACE_CHECK; + + PortableServer::POAManager_var poa_manager = + root_poa_->the_POAManager (ACE_TRY_ENV); + ACE_CHECK; + + poa_manager->activate (ACE_TRY_ENV); + ACE_CHECK; +} + +void +Subscribe::resolve_naming_service (CORBA::Environment &ACE_TRY_ENV) +{ + CORBA::Object_var naming_obj = + this->orb_->resolve_initial_references (NAMING_SERVICE_NAME, + ACE_TRY_ENV); + ACE_CHECK; + + // Need to check return value for errors. + if (CORBA::is_nil (naming_obj.in ())) + ACE_THROW (CORBA::UNKNOWN ()); + + this->naming_context_ = + CosNaming::NamingContext::_narrow (naming_obj.in (), ACE_TRY_ENV); + ACE_CHECK; +} + +void +Subscribe::resolve_Notify_factory (CORBA::Environment &ACE_TRY_ENV) +{ + CosNaming::Name name (1); + name.length (1); + name[0].id = CORBA::string_dup (NOTIFY_FACTORY_NAME); + + CORBA::Object_var obj = + this->naming_context_->resolve (name, + ACE_TRY_ENV); + ACE_CHECK; + + this->notify_factory_ = + CosNotifyChannelAdmin::EventChannelFactory::_narrow (obj.in (), + ACE_TRY_ENV); + ACE_CHECK; +} + +void +Subscribe::create_EC (CORBA::Environment &ACE_TRY_ENV) +{ + CosNotifyChannelAdmin::ChannelID id; + + ec_ = notify_factory_->create_channel (initial_qos_, + initial_admin_, + id, + ACE_TRY_ENV); + ACE_CHECK; + + ACE_ASSERT (!CORBA::is_nil (ec_.in ())); +} + +void +Subscribe::create_supplieradmin (CORBA::Environment &ACE_TRY_ENV) +{ + CosNotifyChannelAdmin::AdminID adminid; + + supplier_admin_ = + ec_->new_for_suppliers (this->ifgop_, adminid, ACE_TRY_ENV); + ACE_CHECK; + + ACE_ASSERT (!CORBA::is_nil (supplier_admin_.in ())); +} + +void +Subscribe:: create_consumeradmin (CORBA::Environment &ACE_TRY_ENV) +{ + CosNotifyChannelAdmin::AdminID adminid; + + consumer_admin_ = + ec_->new_for_consumers (this->ifgop_, adminid, ACE_TRY_ENV); + ACE_CHECK; + + ACE_ASSERT (!CORBA::is_nil (consumer_admin_.in ())); +} + +void +Subscribe::create_consumers (CORBA::Environment &ACE_TRY_ENV) +{ + consumer_1_ = new Subscribe_StructuredConsumer (); + consumer_1_->init (this->root_poa_.in (), ACE_TRY_ENV); + ACE_CHECK; + consumer_1_->connect (this->consumer_admin_, ACE_TRY_ENV); + ACE_CHECK; + + consumer_2_ = new Subscribe_StructuredConsumer (); + consumer_2_->init (this->root_poa_.in (), ACE_TRY_ENV); + ACE_CHECK; + consumer_2_->connect (this->consumer_admin_, ACE_TRY_ENV); + ACE_CHECK; +} + +void +Subscribe::create_suppliers (CORBA::Environment &ACE_TRY_ENV) +{ + supplier_1_ = new Subscribe_StructuredSupplier (); + supplier_1_->init (this->root_poa_.in (), ACE_TRY_ENV); + ACE_CHECK; + supplier_1_->connect (this->supplier_admin_, ACE_TRY_ENV); + ACE_CHECK; + + supplier_2_ = new Subscribe_StructuredSupplier (); + supplier_2_->init (this->root_poa_.in (), ACE_TRY_ENV); + ACE_CHECK; + supplier_2_->connect (this->supplier_admin_, ACE_TRY_ENV); + ACE_CHECK; +} + +void +Subscribe::send_events (CORBA::Environment &ACE_TRY_ENV) +{ + // Setup the CA to receive event_type : "domain_A", "Type_1" + CosNotification::EventTypeSeq added(1); + CosNotification::EventTypeSeq removed (0); + added.length (1); + removed.length (0); + + added[0].domain_name = CORBA::string_dup ("domain_A"); + added[0].type_name = CORBA::string_dup ("Type_1"); + + this->consumer_admin_->subscription_change (added, removed, ACE_TRY_ENV); + ACE_CHECK; + + // Setup the Consumer 1 to receive event_type : "domain_B", "Type_2" + CosNotification::EventTypeSeq added_1(1); + CosNotification::EventTypeSeq removed_1 (0); + + added_1[0].domain_name = CORBA::string_dup ("domain_B"); + added_1[0].type_name = CORBA::string_dup ("Type_2"); + added_1.length (1); + removed_1.length (0); + + this->consumer_1_->proxy_supplier_->subscription_change (added_1, removed_1, + ACE_TRY_ENV); + ACE_CHECK; + + // Setup the Consumer 2 to receive event_type : "domain_C", "Type_3" + CosNotification::EventTypeSeq added_2(1); + CosNotification::EventTypeSeq removed_2 (0); + + added_2[0].domain_name = CORBA::string_dup ("domain_C"); + added_2[0].type_name = CORBA::string_dup ("Type_3"); + added_2.length (1); + removed_2.length (0); + + this->consumer_2_->proxy_supplier_->subscription_change (added_2, removed_2, + ACE_TRY_ENV); + ACE_CHECK; + + // make 3 different events. + CosNotification::StructuredEvent event; + event.header.fixed_header.event_type.domain_name = + CORBA::string_dup("domain_A"); + event.header.fixed_header.event_type.type_name = + CORBA::string_dup("Type_1"); + + CosNotification::StructuredEvent event_1; + event.header.fixed_header.event_type.domain_name = + CORBA::string_dup("domain_B"); + event.header.fixed_header.event_type.type_name = + CORBA::string_dup("Type_2"); + + CosNotification::StructuredEvent event_2; + event.header.fixed_header.event_type.domain_name = + CORBA::string_dup("domain_C"); + event.header.fixed_header.event_type.type_name = + CORBA::string_dup("Type_2"); + + // let supplier 1 send all these events + for (int i = 0; i < 1; ++i) + { + supplier_1_->send_event (event, ACE_TRY_ENV); + supplier_1_->send_event (event_1, ACE_TRY_ENV); + supplier_1_->send_event (event_2, ACE_TRY_ENV); + } +} diff --git a/TAO/orbsvcs/examples/Notify/Subscribe/Subscribe.h b/TAO/orbsvcs/examples/Notify/Subscribe/Subscribe.h new file mode 100644 index 00000000000..e0805500461 --- /dev/null +++ b/TAO/orbsvcs/examples/Notify/Subscribe/Subscribe.h @@ -0,0 +1,109 @@ +/* -*- C++ -*- */ +// $Id$ +// ========================================================================== +// +// = FILENAME +// Filter.h +// +// = DESCRIPTION +// Class to demo structured event filtering. +// +// = AUTHOR +// Pradeep Gore <pradeep@cs.wustl.edu> +// +// ========================================================================== + +#ifndef NOTIFY_FILTER_CLIENT_H +#define NOTIFY_FILTER_CLIENT_H + +#include "orbsvcs/CosNotifyChannelAdminC.h" +#include "orbsvcs/CosNotifyCommC.h" +#include "orbsvcs/CosNamingC.h" + +class TAO_Notify_StructuredPushConsumer; +class TAO_Notify_StructuredPushSupplier; + +class Subscribe +{ + // = TITLE + // + // = DESCRIPTION + // + + public: + // = Initialization and Termination + Subscribe (void); + ~Subscribe (); + + void init (int argc, char *argv [], CORBA::Environment &ACE_TRY_ENV); + // Init the Client. + + void run (CORBA::Environment &ACE_TRY_ENV); + // Run the demo. + + protected: + void init_ORB (int argc, char *argv [], CORBA::Environment &ACE_TRY_ENV); + // Initializes the ORB. + + void resolve_naming_service (CORBA::Environment &ACE_TRY_ENV); + // Try to get hold of a running naming service. + + void resolve_Notify_factory (CORBA::Environment &ACE_TRY_ENV); + // Try to resolve the Notify factory from the Naming service. + + void create_EC (CORBA::Environment &ACE_TRY_ENV); + // Create an EC. + + void create_supplieradmin(CORBA::Environment &ACE_TRY_ENV); + // Create the Supplier Admin. + + void create_consumeradmin (CORBA::Environment &ACE_TRY_ENV); + // Create the Consumer Admin. + + void create_consumers (CORBA::Environment &ACE_TRY_ENV); + // Create and initialize the consumers. + + void create_suppliers (CORBA::Environment &ACE_TRY_ENV); + // create and initialize the suppliers. + + void send_events (CORBA::Environment &ACE_TRY_ENV); + // send the events. + + // = Data Members + PortableServer::POA_var root_poa_; + // Reference to the root poa. + + CORBA::ORB_var orb_; + // The ORB that we use. + + CosNaming::NamingContext_var naming_context_; + // Handle to the name service. + + CosNotifyChannelAdmin::EventChannelFactory_var notify_factory_; + // Channel factory. + + CosNotifyChannelAdmin::EventChannel_var ec_; + // The one channel that we create using the factory. + + CosNotifyChannelAdmin::InterFilterGroupOperator ifgop_; + // The group operator between admin-proxy's. + + CosNotification::QoSProperties initial_qos_; + // Initial qos specified to the factory when creating the EC. + + CosNotification::AdminProperties initial_admin_; + // Initial admin props specified to the factory when creating the EC. + + CosNotifyChannelAdmin::ConsumerAdmin_var consumer_admin_; + // The consumer admin used by consumers. + + CosNotifyChannelAdmin::SupplierAdmin_var supplier_admin_; + // The supplier admin used by suppliers. + + TAO_Notify_StructuredPushConsumer* consumer_1_; + TAO_Notify_StructuredPushConsumer* consumer_2_; + + TAO_Notify_StructuredPushSupplier* supplier_1_; + TAO_Notify_StructuredPushSupplier* supplier_2_; +}; +#endif /* NOTIFY_FILTER_CLIENT_H */ diff --git a/TAO/orbsvcs/examples/Notify/Subscribe/main.cpp b/TAO/orbsvcs/examples/Notify/Subscribe/main.cpp new file mode 100644 index 00000000000..70dba60011e --- /dev/null +++ b/TAO/orbsvcs/examples/Notify/Subscribe/main.cpp @@ -0,0 +1,35 @@ +// -*- C++ -*- +// $Id$ + +#include "Subscribe.h" + +int +main (int argc, char *argv []) +{ + Subscribe client; + + ACE_TRY_NEW_ENV + { + client.init (argc, argv, + ACE_TRY_ENV); //Init the Client + ACE_TRY_CHECK; + + client.run (ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (CORBA::UserException, ue) + { + ACE_PRINT_EXCEPTION (ue, + "TLS_Client user error: "); + return 1; + } + ACE_CATCH (CORBA::SystemException, se) + { + ACE_PRINT_EXCEPTION (se, + "Filter system error: "); + return 1; + } + ACE_ENDTRY; + + return 0; +} |