3
* @file ProxyConsumer.h
5
* ProxyConsumer.h,v 1.9 2003/10/28 18:34:24 bala Exp
7
* @author Pradeep Gore <pradeep@oomworks.com>
12
#ifndef TAO_Notify_PROXYCONSUMER_H
13
#define TAO_Notify_PROXYCONSUMER_H
15
#include /**/ "ace/pre.h"
17
#include "notify_export.h"
19
#include "ace/Auto_Ptr.h"
21
#if !defined (ACE_LACKS_PRAGMA_ONCE)
23
#endif /* ACE_LACKS_PRAGMA_ONCE */
25
#include "orbsvcs/CosEventChannelAdminC.h"
27
#include "Refcountable_Guard_T.h"
32
class TAO_Notify_SupplierAdmin;
33
class TAO_Notify_Supplier;
36
* @class TAO_Notify_ProxyConsumer
38
* @brief Base class for all types of ProxyConsumer implementations.
41
class TAO_Notify_Export TAO_Notify_ProxyConsumer : public virtual TAO_Notify_Proxy
45
TAO_Notify_ProxyConsumer (void);
48
~TAO_Notify_ProxyConsumer ();
51
void init (TAO_Notify_SupplierAdmin* supplier_admin ACE_ENV_ARG_DECL);
54
void connect (TAO_Notify_Supplier* supplier ACE_ENV_ARG_DECL)
56
CORBA::SystemException
57
, CosEventChannelAdmin::AlreadyConnected
61
void disconnect (ACE_ENV_SINGLE_ARG_DECL);
63
/// Shutdown (TAO_Notify_Container_T method)
64
virtual int shutdown (ACE_ENV_SINGLE_ARG_DECL);
66
/// Destroy this object.
67
virtual void destroy (ACE_ENV_SINGLE_ARG_DECL);
70
virtual TAO_Notify_Peer* peer (void);
72
/// Access the Supplier
73
TAO_Notify_Supplier* supplier (void);
75
/// Return 1 if connected
76
int is_connected (void);
79
TAO_Notify_SupplierAdmin* supplier_admin (void);
84
TAO_Notify_SupplierAdmin* supplier_admin_;
86
/// The Supplier that we're connect to.
87
TAO_Notify_Supplier* supplier_;
90
typedef TAO_Notify_Refcountable_Guard_T<TAO_Notify_ProxyConsumer> TAO_Notify_ProxyConsumer_Guard;
92
#if defined (__ACE_INLINE__)
93
#include "ProxyConsumer.inl"
94
#endif /* __ACE_INLINE__ */
96
#include /**/ "ace/post.h"
97
#endif /* TAO_Notify_PROXYCONSUMER_H */