summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.h
new file mode 100644
index 00000000000..10ea3c436a2
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.h
@@ -0,0 +1,67 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file FTEC_Gateway.h
+ *
+ * $Id$
+ *
+ * @author Huang-Ming Huang <hh1@cse.wustl.edu>
+ */
+//=============================================================================
+#ifndef FTEC_GATEWAY_H
+#define FTEC_GATEWAY_H
+
+#include /**/ "ace/pre.h"
+
+#include "orbsvcs/FtRtecEventChannelAdminC.h"
+#include "orbsvcs/RtecEventChannelAdminS.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO_FTRTEC
+{
+ struct FTEC_Gateway_Impl;
+ class TAO_FtRtEvent_Export FTEC_Gateway :
+ public POA_RtecEventChannelAdmin::EventChannel
+ {
+ public:
+ FTEC_Gateway(CORBA::ORB_ptr orb,
+ FtRtecEventChannelAdmin::EventChannel_ptr ftec);
+ ~FTEC_Gateway();
+
+ RtecEventChannelAdmin::EventChannel_ptr activate
+ (PortableServer::POA_ptr poa);
+
+ RtecEventChannelAdmin::EventChannel_ptr
+ _this(void);
+
+ //= The RtecEventChannelAdmin::EventChannel methods
+ virtual RtecEventChannelAdmin::ConsumerAdmin_ptr
+ for_consumers (void);
+
+ virtual RtecEventChannelAdmin::SupplierAdmin_ptr
+ for_suppliers (void);
+
+ virtual void destroy (void);
+
+ virtual RtecEventChannelAdmin::Observer_Handle
+ append_observer (RtecEventChannelAdmin::Observer_ptr observer);
+
+ virtual void remove_observer (RtecEventChannelAdmin::Observer_Handle);
+
+ void push(RtecEventChannelAdmin::ProxyPushConsumer_ptr proxy_consumer,
+ const RtecEventComm::EventSet & data);
+ private:
+ struct FTEC_Gateway_Impl *impl_;
+ };
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#if defined(__ACE_INLINE__)
+#include "orbsvcs/FtRtEvent/Utils/FTEC_Gateway.inl"
+#endif /* __ACE_INLINE__ */
+
+#include /**/ "ace/post.h"
+#endif