summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.cpp
blob: 7c087478c0a0a0549f96b0d9ad6113179d587834 (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
// $Id$
//
#include "CosEvent/ConsumerAdmin_i.h"

ConsumerAdmin_i::ConsumerAdmin_i (const RtecEventChannelAdmin::ConsumerQOS &qos,
                                 RtecEventChannelAdmin::ConsumerAdmin_ptr
                                 rtec_consumeradmin)
  : qos_ (qos),
    rtec_consumeradmin_(RtecEventChannelAdmin::ConsumerAdmin::_duplicate (rtec_consumeradmin))
{
}

ConsumerAdmin_i::~ConsumerAdmin_i ()
{
  CORBA::release (this->rtec_consumeradmin_);
}

CosEventChannelAdmin::ProxyPushSupplier_ptr
ConsumerAdmin_i::obtain_push_supplier (CORBA::Environment &TAO_TRY_ENV)
{
  RtecEventChannelAdmin::ProxyPushSupplier_ptr rtecproxypushsupplier =
    this->rtec_consumeradmin_->obtain_push_supplier (TAO_TRY_ENV);

  TAO_CHECK_ENV_RETURN (TAO_TRY_ENV, 0);

  ProxyPushSupplier_i *pps =
    new ProxyPushSupplier_i (this->qos_, rtecproxypushsupplier);

  return pps->_this (TAO_TRY_ENV);
}

CosEventChannelAdmin::ProxyPullSupplier_ptr
ConsumerAdmin_i::obtain_pull_supplier (CORBA::Environment &TAO_TRY_ENV)
{
  // TODO: implement this.
  return 0;
}