summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/examples/CosEC/Factory/FactoryCosEventChannel_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/examples/CosEC/Factory/FactoryCosEventChannel_i.h')
-rw-r--r--TAO/orbsvcs/examples/CosEC/Factory/FactoryCosEventChannel_i.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/TAO/orbsvcs/examples/CosEC/Factory/FactoryCosEventChannel_i.h b/TAO/orbsvcs/examples/CosEC/Factory/FactoryCosEventChannel_i.h
new file mode 100644
index 00000000000..b16588e1e09
--- /dev/null
+++ b/TAO/orbsvcs/examples/CosEC/Factory/FactoryCosEventChannel_i.h
@@ -0,0 +1,94 @@
+// -*- C++ -*-
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/examples/CosEC/Factory
+//
+// = FILENAME
+// FactoryCosEventChannel_i.h
+//
+// = DESCRIPTION
+// Decorator for the CosEventChannel.
+//
+// = AUTHOR
+// Pradeep Gore <pradeep@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef FACTORYCOSEVENTCHANNEL_I_H
+#define FACTORYCOSEVENTCHANNEL_I_H
+
+#include "orbsvcs/RtecEventChannelAdminC.h"
+#include "orbsvcs/CosEventChannelAdminS.h"
+#include "orbsvcs/Event_Utilities.h"
+
+class ACE_Config_Scheduler;
+class TAO_EC_Event_Channel;
+class TAO_CosEC_EventChannel_i;
+
+class FactoryCosEventChannel_i :
+ public virtual POA_CosEventChannelAdmin::EventChannel ,
+ public virtual TAO_RefCountServantBase
+{
+ // = TITLE
+ //
+ // = DESCRIPTION
+ //
+ //
+ public:
+ // = Initialization method.
+ FactoryCosEventChannel_i (void);
+ // Constructor.
+
+ virtual ~FactoryCosEventChannel_i (void);
+ // Destructor.
+
+ int init (PortableServer::POA_ptr poa,
+ CORBA::Environment &ACE_TRY_ENV);
+ //
+ // Returns -1 on error, 0 on success.
+
+ int activate (ACE_CString& str_channel_id,
+ CORBA::Environment &ACE_TRY_ENV);
+ // Activates the CosEC and friends with the POA.
+
+ // = POA_CosEventChannelAdmin::EventChannel methods.
+ virtual CosEventChannelAdmin::ConsumerAdmin_ptr for_consumers (CORBA::Environment &ACE_TRY_ENV);
+
+ virtual CosEventChannelAdmin::SupplierAdmin_ptr for_suppliers (CORBA::Environment &ACE_TRY_ENV);
+
+ virtual void destroy (CORBA::Environment &ACE_TRY_ENV);
+ // Destroys this Event Channel object.
+
+ protected:
+ ACE_Config_Scheduler* sched_servant_;
+ // Scheduler used by the Rtec.
+
+ PortableServer::POA_var poa_;
+ // The poa that we use.
+
+ TAO_EC_Event_Channel* ec_servant_;
+ // The servant object of the Rtec.
+
+ TAO_CosEC_EventChannel_i* cosec_servant_;
+ // The servant object of the COS Event Channel.
+
+ RtecScheduler::Scheduler_var scheduler_;
+ // Ref to sched.
+
+ RtecEventChannelAdmin::EventChannel_var rtec_;
+ // Ref to the Rtec.
+
+ CosEventChannelAdmin::EventChannel_var cosec_;
+ // Ref to the cosec.
+
+ ACE_ConsumerQOS_Factory consumer_qos_;
+ // The Consumer QOS.
+
+ ACE_SupplierQOS_Factory supplier_qos_;
+ // The Supplier QOS.
+};
+
+#endif /* FACTORYCOSEVENTCHANNEL_I_H */