summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp311
1 files changed, 311 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp
new file mode 100644
index 00000000000..43aa28e5abe
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp
@@ -0,0 +1,311 @@
+ // $Id$
+
+#include "StructuredProxyPushSupplier.h"
+#include "tao/PortableServer/Servant_Base.h"
+
+#include "StructuredPushConsumer.h"
+#include "../Event_Manager.h"
+#include "../Admin.h"
+
+#if ! defined (__ACE_INLINE__)
+#include "StructuredProxyPushSupplier.inl"
+#endif /* __ACE_INLINE__ */
+
+ACE_RCSID(RT_Notify, TAO_NS_StructuredProxyPushSupplier, "$Id$")
+
+TAO_NS_StructuredProxyPushSupplier::TAO_NS_StructuredProxyPushSupplier (void)
+{
+}
+
+TAO_NS_StructuredProxyPushSupplier::~TAO_NS_StructuredProxyPushSupplier ()
+{
+}
+
+void
+TAO_NS_StructuredProxyPushSupplier::servant (PortableServer::Servant servant)
+{
+ servant_ = servant;
+}
+
+PortableServer::Servant
+TAO_NS_StructuredProxyPushSupplier::servant (void)
+{
+ return servant_;
+}
+
+void TAO_NS_StructuredProxyPushSupplier::connect_structured_push_consumer (
+ CosNotifyComm::StructuredPushConsumer_ptr push_consumer ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , CosEventChannelAdmin::AlreadyConnected
+ , CosEventChannelAdmin::TypeError
+ ))
+{
+ // Convert Consumer to Base Type
+ TAO_NS_StructuredPushConsumer* consumer;
+ ACE_NEW_THROW_EX (consumer,
+ TAO_NS_StructuredPushConsumer (push_consumer),
+ CORBA::NO_MEMORY ());
+
+ consumer->destroy_callback (consumer);
+
+ this->connect (consumer ACE_ENV_ARG_PARAMETER);
+}
+
+
+void TAO_NS_StructuredProxyPushSupplier::subscription_change (
+ const CosNotification::EventTypeSeq & added,
+ const CosNotification::EventTypeSeq & removed
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , CosNotifyComm::InvalidEventType
+ ))
+
+{
+ TAO_NS_EventTypeSeq seq_added (added);
+ TAO_NS_EventTypeSeq seq_removed (removed);
+
+ ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_,
+ CORBA::INTERNAL ());
+ ACE_CHECK;
+
+ this->preprocess (seq_added, seq_removed);
+
+ if (this->is_connected () == 1)
+ {
+ event_manager_->subscribe (this, seq_added);
+ event_manager_->un_subscribe (this, seq_removed);
+ }
+}
+
+void TAO_NS_StructuredProxyPushSupplier::disconnect_structured_push_supplier (
+
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+
+ {
+ this->inherited::destroy (this ACE_ENV_ARG_PARAMETER);
+ }
+
+void TAO_NS_StructuredProxyPushSupplier::suspend_connection (
+
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , CosNotifyChannelAdmin::ConnectionAlreadyInactive
+ , CosNotifyChannelAdmin::NotConnected
+ ))
+
+ {
+ //Add your implementation here
+ }
+
+void TAO_NS_StructuredProxyPushSupplier::resume_connection (
+
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , CosNotifyChannelAdmin::ConnectionAlreadyActive
+ , CosNotifyChannelAdmin::NotConnected
+ ))
+
+ {
+ //Add your implementation here
+ }
+
+::CosNotifyChannelAdmin::ProxyType TAO_NS_StructuredProxyPushSupplier::MyType (
+
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+
+ {
+ //Add your implementation here
+ return ::CosNotifyChannelAdmin::PUSH_STRUCTURED;
+ }
+
+::CosNotifyChannelAdmin::ConsumerAdmin_ptr TAO_NS_StructuredProxyPushSupplier::MyAdmin (
+
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+
+ {
+ //Add your implementation here
+ return 0;
+ }
+
+::CosNotifyFilter::MappingFilter_ptr TAO_NS_StructuredProxyPushSupplier::priority_filter (
+
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+
+ {
+ //Add your implementation here
+ return 0;
+ }
+
+void TAO_NS_StructuredProxyPushSupplier::priority_filter (
+ CosNotifyFilter::MappingFilter_ptr priority_filter
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+
+ {
+ //Add your implementation here
+ }
+
+::CosNotifyFilter::MappingFilter_ptr TAO_NS_StructuredProxyPushSupplier::lifetime_filter (
+
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+
+ {
+ //Add your implementation here
+ return 0;
+ }
+
+void TAO_NS_StructuredProxyPushSupplier::lifetime_filter (
+ CosNotifyFilter::MappingFilter_ptr lifetime_filter
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+
+ {
+ //Add your implementation here
+ }
+
+::CosNotification::EventTypeSeq * TAO_NS_StructuredProxyPushSupplier::obtain_offered_types (
+ CosNotifyChannelAdmin::ObtainInfoMode mode
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+
+ {
+ //Add your implementation here
+ return 0;
+ }
+
+void TAO_NS_StructuredProxyPushSupplier::validate_event_qos (
+ const CosNotification::QoSProperties & required_qos,
+ CosNotification::NamedPropertyRangeSeq_out available_qos
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , CosNotification::UnsupportedQoS
+ ))
+
+ {
+ //Add your implementation here
+ }
+
+::CosNotification::QoSProperties * TAO_NS_StructuredProxyPushSupplier::get_qos (
+
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+
+ {
+ //Add your implementation here
+ return 0;
+ }
+
+void TAO_NS_StructuredProxyPushSupplier::set_qos (
+ const CosNotification::QoSProperties & qos
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , CosNotification::UnsupportedQoS
+ ))
+
+ {
+ //Add your implementation here
+ }
+
+void TAO_NS_StructuredProxyPushSupplier::validate_qos (
+ const CosNotification::QoSProperties & required_qos,
+ CosNotification::NamedPropertyRangeSeq_out available_qos
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , CosNotification::UnsupportedQoS
+ ))
+
+ {
+ //Add your implementation here
+ }
+
+CosNotifyFilter::FilterID TAO_NS_StructuredProxyPushSupplier::add_filter (
+ CosNotifyFilter::Filter_ptr new_filter
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+
+ {
+ //Add your implementation here
+ return 0;
+ }
+
+void TAO_NS_StructuredProxyPushSupplier::remove_filter (
+ CosNotifyFilter::FilterID filter
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , CosNotifyFilter::FilterNotFound
+ ))
+
+ {
+ //Add your implementation here
+ }
+
+::CosNotifyFilter::Filter_ptr TAO_NS_StructuredProxyPushSupplier::get_filter (
+ CosNotifyFilter::FilterID filter
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ , CosNotifyFilter::FilterNotFound
+ ))
+
+ {
+ //Add your implementation here
+ return 0;
+ }
+
+::CosNotifyFilter::FilterIDSeq * TAO_NS_StructuredProxyPushSupplier::get_all_filters (
+
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+
+ {
+ //Add your implementation here
+ return 0;
+ }
+
+void TAO_NS_StructuredProxyPushSupplier::remove_all_filters (
+
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+
+ {
+ //Add your implementation here
+ }