3 //=============================================================================
5 * @file ProxyPushSupplier_i.h
7 * @author Pradeep Gore <pradeep@cs.wustl.edu>
9 * This has the implementation of the
10 * CosEventChannelAdmin::ProxyPushSupplier interface.
12 //=============================================================================
15 #ifndef _PROXYPUSHSUPPLIER_H
16 #define _PROXYPUSHSUPPLIER_H
17 #include /**/ "ace/pre.h"
19 #include "orbsvcs/RtecEventChannelAdminC.h"
20 #include "orbsvcs/CosEventChannelAdminC.h"
21 #include "rtec_cosec_export.h"
23 class TAO_CosEC_PushConsumerWrapper
;
25 class TAO_RTEC_COSEC_Export TAO_CosEC_ProxyPushSupplier_i
:
26 public POA_CosEventChannelAdmin::ProxyPushSupplier
29 // class ProxyPushSupplier-i implements the ProxyPushConsumer interface.
32 // This implementation of the ProxyPushSupplier uses the
33 // RtecEventChannelAdmin::ProxyPushSupplier.
36 TAO_CosEC_ProxyPushSupplier_i (const RtecEventChannelAdmin::ConsumerQOS
&qos
,
37 RtecEventChannelAdmin::ProxyPushSupplier_ptr pps
);
40 ~TAO_CosEC_ProxyPushSupplier_i () = default;
42 /// Ends the event communication and disposes this object.
43 virtual void disconnect_push_supplier ();
45 /// Connects the <push_consumer> to the Event Channel.
46 virtual void connect_push_consumer(CosEventComm::PushConsumer_ptr push_consumer
);
49 /// Returns 0 if a push_consumer is already connected to this
50 /// ProxyPushSupplier, otherwise it returns a 1.
53 /// The ConsumerQOS specified by the user of this class.
54 const RtecEventChannelAdmin::ConsumerQOS
&qos_
;
56 /// The Rtec ProxyPushSupplier specified by the user of this class.
57 RtecEventChannelAdmin::ProxyPushSupplier_var pps_
;
59 /// The Rtec PushConsumer wrapper used by the Rtec ProxyPushSupplier.
60 TAO_CosEC_PushConsumerWrapper
*wrapper_
;
63 #include /**/ "ace/post.h"
64 #endif /* _PROXYPUSHSUPPLIER_H */