summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.h97
1 files changed, 97 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.h
new file mode 100644
index 00000000000..a277745f093
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.h
@@ -0,0 +1,97 @@
+/* -*- C++ -*- */
+// $Id$
+// ==========================================================================
+//
+// = LIBRARY
+// orbsvcs
+//
+// = FILENAME
+// Notify_StructuredProxyPushSupplier_i.h
+//
+// = DESCRIPTION
+//
+//
+// = AUTHOR
+// Pradeep Gore <pradeep@cs.wustl.edu>
+//
+// ==========================================================================
+#ifndef NOTIFY_STRUCTUREDPROXYPUSHSUPPLIER_I_H
+#define NOTIFY_STRUCTUREDPROXYPUSHSUPPLIER_I_H
+
+#include "orbsvcs/orbsvcs/CosNotifyChannelAdminS.h"
+#include "orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_i.h"
+#include "orbsvcs/orbsvcs/Notify/NotifySubscribe_i.h"
+
+class TAO_Notify_ConsumerAdmin_i;
+
+class TAO_Notify_StructuredProxyPushSupplier_i :
+public virtual POA_CosNotifyChannelAdmin::StructuredProxyPushSupplier,
+ public virtual TAO_Notify_ProxySupplier_i,
+ public virtual TAO_NotifySubscribe_i
+{
+ // = TITLE
+ // TAO_Notify_StructuredProxyPushSupplier_i
+ // = DESCRIPTION
+ //
+ //
+
+ public:
+ //Constructor
+ TAO_Notify_StructuredProxyPushSupplier_i (TAO_Notify_ConsumerAdmin_i &consumeradmin);
+
+ //Destructor
+ virtual ~TAO_Notify_StructuredProxyPushSupplier_i (void);
+
+ virtual void dispatch_event (const CORBA::Any & data,
+ CORBA::Environment &ACE_TRY_ENV);
+ //
+
+ virtual void dispatch_event (const CosNotification::StructuredEvent& event,
+ CORBA::Environment &ACE_TRY_ENV);
+
+ CosNotifyChannelAdmin::ProxySupplier_ptr get_ref (CORBA::Environment &ACE_TRY_ENV);
+ // convert to object ref.
+
+ virtual void connect_structured_push_consumer
+ (
+ CosNotifyComm::StructuredPushConsumer_ptr push_consumer,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ CosEventChannelAdmin::AlreadyConnected,
+ CosEventChannelAdmin::TypeError
+ ));
+
+ virtual void suspend_connection (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ CosNotifyChannelAdmin::ConnectionAlreadyInactive,
+ CosNotifyChannelAdmin::NotConnected
+ ));
+
+ virtual void resume_connection (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ CosNotifyChannelAdmin::ConnectionAlreadyActive,
+ CosNotifyChannelAdmin::NotConnected
+ ));
+
+ // = CosNotifyComm::StructuredPushSupplier method
+ virtual void disconnect_structured_push_supplier (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ protected:
+ CosNotifyComm::StructuredPushConsumer_var push_consumer_;
+ // The consumer that we are connected with.
+};
+
+#endif /* NOTIFY_STRUCTUREDPROXYPUSHSUPPLIER_I_H */