Changes to attempt to silence bcc64x
[ACE_TAO.git] / TAO / orbsvcs / tests / Notify / lib / Consumer_T.h
blob8ba7047f52873c16a196c46c45d0dcc6c646d881
1 /* -*- C++ -*- */
2 /**
3 * @file Consumer_T.h
5 * @author Pradeep Gore <pradeep@oomworks.com>
6 */
8 #ifndef TAO_Notify_Tests_CONSUMER_T_H
9 #define TAO_Notify_Tests_CONSUMER_T_H
10 #include /**/ "ace/pre.h"
12 #if !defined (ACE_LACKS_PRAGMA_ONCE)
13 # pragma once
14 #endif /* ACE_LACKS_PRAGMA_ONCE */
16 #include "Peer_T.h"
18 class TAO_Notify_Tests_ConsumerAdmin_Traits
20 public:
21 typedef CosNotifyChannelAdmin::ConsumerAdmin INTERFACE;
22 typedef CosNotifyChannelAdmin::ConsumerAdmin_ptr PTR;
23 typedef CosNotifyChannelAdmin::ConsumerAdmin_var VAR;
26 class TAO_Notify_Tests_ConsumerAdmin_Ext_Traits
28 public:
29 typedef NotifyExt::ConsumerAdmin INTERFACE;
30 typedef NotifyExt::ConsumerAdmin_ptr PTR;
31 typedef NotifyExt::ConsumerAdmin_var VAR;
34 /**
35 * @class TAO_Notify_Tests_Consumer_T
37 * @brief Base template to implement Consumers.
39 template <class Consumer_Traits>
40 class TAO_Notify_Tests_Consumer_T : public TAO_Notify_Tests_Peer_T <Consumer_Traits>
42 typedef typename Consumer_Traits::Admin_Traits Admin_Traits;
43 typedef typename Consumer_Traits::Admin_Ext_Traits Admin_Ext_Traits;
44 typedef typename Consumer_Traits::Proxy_Traits Proxy_Traits;
46 typedef typename Proxy_Traits::INTERFACE Proxy_Traits_INTERFACE;
47 typedef typename Proxy_Traits::PTR Proxy_Traits_PTR;
48 typedef typename Admin_Traits::PTR Admin_Traits_PTR;
49 typedef typename Admin_Ext_Traits::PTR Admin_Ext_Traits_PTR;
51 public:
52 /// Constructor
53 TAO_Notify_Tests_Consumer_T ();
55 /// Destructor
56 ~TAO_Notify_Tests_Consumer_T ();
58 /// For backward compatibility. use <get_proxy> instead.
59 Proxy_Traits_PTR get_proxy_supplier ();
61 /// Send subscription_change
62 virtual void subscription_change (CosNotification::EventTypeSeq &added, CosNotification::EventTypeSeq& removed);
64 protected:
65 /// Obtain Proxy.
66 virtual Proxy_Traits_PTR obtain_proxy (Admin_Traits_PTR admin_ptr);
68 /// Obtain Proxy with QoS.
69 virtual Proxy_Traits_PTR obtain_proxy (Admin_Ext_Traits_PTR admin_ptr
70 , CosNotification::QoSProperties& qos);
72 // = NotifyPublish method
73 virtual void offer_change (const CosNotification::EventTypeSeq & added,
74 const CosNotification::EventTypeSeq & removed);
77 #include "Consumer_T.cpp"
79 #include /**/ "ace/post.h"
80 #endif /* TAO_Notify_Tests_CONSUMER_T_H */