summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.cpp57
1 files changed, 57 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.cpp
new file mode 100644
index 00000000000..e868de67b00
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.cpp
@@ -0,0 +1,57 @@
+// $Id$
+#include "StructuredPushConsumer.h"
+#include "ace/Refcounted_Auto_Ptr.h"
+#include "../Event.h"
+
+#if ! defined (__ACE_INLINE__)
+#include "StructuredPushConsumer.inl"
+#endif /* __ACE_INLINE__ */
+
+ACE_RCSID(RT_Notify, TAO_NS_StructuredPushConsumer, "$Id$")
+
+TAO_NS_StructuredPushConsumer::TAO_NS_StructuredPushConsumer (TAO_NS_ProxySupplier* proxy)
+ :TAO_NS_Consumer (proxy)
+{
+}
+
+TAO_NS_StructuredPushConsumer::~TAO_NS_StructuredPushConsumer ()
+{
+}
+
+void
+TAO_NS_StructuredPushConsumer::init (CosNotifyComm::StructuredPushConsumer_ptr push_consumer ACE_ENV_ARG_DECL_NOT_USED)
+{
+ this->push_consumer_ = CosNotifyComm::StructuredPushConsumer::_duplicate (push_consumer);
+
+ this->publish_ = CosNotifyComm::NotifyPublish::_duplicate (push_consumer);
+
+}
+
+void
+TAO_NS_StructuredPushConsumer::release (void)
+{
+ delete this;
+ //@@ inform factory
+}
+
+void
+TAO_NS_StructuredPushConsumer::push_i (const TAO_NS_Event_var& event ACE_ENV_ARG_DECL)
+{
+ event->push (this ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_NS_StructuredPushConsumer::push (const CORBA::Any& event ACE_ENV_ARG_DECL)
+{
+ CosNotification::StructuredEvent notification;
+
+ TAO_NS_Event::translate (event, notification);
+
+ this->push_consumer_->push_structured_event (notification ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_NS_StructuredPushConsumer::push (const CosNotification::StructuredEvent& event ACE_ENV_ARG_DECL)
+{
+ this->push_consumer_->push_structured_event (event ACE_ENV_ARG_PARAMETER);
+}