summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/examples/CosEC/RtEC_Based/lib/ConsumerAdmin_i.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/examples/CosEC/RtEC_Based/lib/ConsumerAdmin_i.cpp')
-rw-r--r--TAO/orbsvcs/examples/CosEC/RtEC_Based/lib/ConsumerAdmin_i.cpp68
1 files changed, 68 insertions, 0 deletions
diff --git a/TAO/orbsvcs/examples/CosEC/RtEC_Based/lib/ConsumerAdmin_i.cpp b/TAO/orbsvcs/examples/CosEC/RtEC_Based/lib/ConsumerAdmin_i.cpp
new file mode 100644
index 00000000000..8aa8fcdb042
--- /dev/null
+++ b/TAO/orbsvcs/examples/CosEC/RtEC_Based/lib/ConsumerAdmin_i.cpp
@@ -0,0 +1,68 @@
+// $Id$
+
+#include "ConsumerAdmin_i.h"
+#include "ace/Auto_Ptr.h"
+
+TAO_CosEC_ConsumerAdmin_i::TAO_CosEC_ConsumerAdmin_i (void)
+ : qos_ (),
+ rtec_consumeradmin_ (RtecEventChannelAdmin::ConsumerAdmin::_nil ())
+{
+ // No-Op.
+}
+
+TAO_CosEC_ConsumerAdmin_i::~TAO_CosEC_ConsumerAdmin_i (void)
+{
+ // No-Op.
+}
+
+int
+TAO_CosEC_ConsumerAdmin_i::init (const RtecEventChannelAdmin::ConsumerQOS &consumerqos,
+ RtecEventChannelAdmin::ConsumerAdmin_ptr rtec_consumeradmin)
+{
+ this->qos_ = consumerqos;
+ this->rtec_consumeradmin_ =
+ RtecEventChannelAdmin::ConsumerAdmin::_duplicate (rtec_consumeradmin);
+ return 0;
+}
+
+CosEventChannelAdmin::ProxyPushSupplier_ptr
+TAO_CosEC_ConsumerAdmin_i::obtain_push_supplier (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CosEventChannelAdmin::ProxyPushSupplier_ptr proxysupplier_nil =
+ CosEventChannelAdmin::ProxyPushSupplier::_nil ();
+
+ RtecEventChannelAdmin::ProxyPushSupplier_var rtecproxypushsupplier =
+ this->rtec_consumeradmin_->obtain_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (proxysupplier_nil);
+
+ TAO_CosEC_ProxyPushSupplier_i *proxypushsupplier;
+
+ ACE_NEW_RETURN (proxypushsupplier,
+ TAO_CosEC_ProxyPushSupplier_i (this->qos_,
+ rtecproxypushsupplier.in ()),
+ proxysupplier_nil);
+
+ auto_ptr<TAO_CosEC_ProxyPushSupplier_i>
+ auto_proxysupplier (proxypushsupplier);
+
+ CosEventChannelAdmin::ProxyPushSupplier_ptr proxy_obj =
+ auto_proxysupplier.get ()->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (proxysupplier_nil);
+
+ // give the ownership to the POA.
+ auto_proxysupplier.get ()->_remove_ref (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (proxysupplier_nil);
+
+ auto_proxysupplier.release ();
+ return proxy_obj;
+}
+
+CosEventChannelAdmin::ProxyPullSupplier_ptr
+TAO_CosEC_ConsumerAdmin_i::obtain_pull_supplier (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO: implement this.
+ return CosEventChannelAdmin::ProxyPullSupplier::_nil ();
+}
+