summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.cpp
blob: 52f5e3b1b986e3f1e36ac3d31f09cb9709cc4483 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// $Id$

#include "SupplierAdmin_i.h"

// @@ Pradeep: the same comments about memory managment, your code looks
// correct, but (IMHO) using _var is simpler...

SupplierAdmin_i::SupplierAdmin_i (void)
  : qos_ (),
    rtec_supplieradmin_ (RtecEventChannelAdmin::SupplierAdmin::_nil ())
{
  // No-Op.
}

SupplierAdmin_i::~SupplierAdmin_i (void)
{
  CORBA::release (this->rtec_supplieradmin_);
}

int
SupplierAdmin_i::init (const RtecEventChannelAdmin::SupplierQOS &supplierqos,
                       RtecEventChannelAdmin::SupplierAdmin_ptr rtec_supplieradmin)
{
  this->qos_ = supplierqos;
  this->rtec_supplieradmin_ =
    RtecEventChannelAdmin::SupplierAdmin::_duplicate (rtec_supplieradmin);
  return 0;
}

CosEventChannelAdmin::ProxyPushConsumer_ptr
SupplierAdmin_i::obtain_push_consumer (CORBA::Environment &TAO_TRY_ENV)
{
  RtecEventChannelAdmin::ProxyPushConsumer_var rtecproxypushconsumer =
    this->rtec_supplieradmin_->obtain_push_consumer (TAO_TRY_ENV);
  TAO_CHECK_ENV_RETURN (TAO_TRY_ENV, 0);

  ProxyPushConsumer_i *ppc;

  ACE_NEW_RETURN (ppc,
                  ProxyPushConsumer_i (this->qos_,
                                       rtecproxypushconsumer.in ()),
                  CosEventChannelAdmin::ProxyPushConsumer::_nil ());
  return ppc->_this (TAO_TRY_ENV);
}

CosEventChannelAdmin::ProxyPullConsumer_ptr
SupplierAdmin_i::obtain_pull_consumer (CORBA::Environment &TAO_TRY_ENV)
{
  // TODO: implement this.
  return CosEventChannelAdmin::ProxyPullConsumer::_nil ();
}