Revert "Use a variable on the stack to not have a temporary in the call"
[ACE_TAO.git] / TAO / orbsvcs / tests / Notify / lib / Supplier_T.h
blobcd580dab3581c6ad443c72dcebc32ae696b44ad0
1 /* -*- C++ -*- */
2 /**
3 * @file Supplier_T.h
5 * @author Pradeep Gore <pradeep@oomworks.com>
6 */
8 #ifndef TAO_Notify_Tests_SUPPLIER_T_H
9 #define TAO_Notify_Tests_SUPPLIER_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_SupplierAdmin_Traits
20 public:
21 typedef CosNotifyChannelAdmin::SupplierAdmin INTERFACE;
22 typedef CosNotifyChannelAdmin::SupplierAdmin_ptr PTR;
23 typedef CosNotifyChannelAdmin::SupplierAdmin_var VAR;
26 class TAO_Notify_Tests_SupplierAdmin_Ext_Traits
28 public:
29 typedef NotifyExt::SupplierAdmin INTERFACE;
30 typedef NotifyExt::SupplierAdmin_ptr PTR;
31 typedef NotifyExt::SupplierAdmin_var VAR;
34 /**
35 * @class TAO_Notify_Tests_Supplier_T
37 * @brief Base template to implement Suppliers.
39 template <class Supplier_Traits>
40 class TAO_Notify_Tests_Supplier_T : public TAO_Notify_Tests_Peer_T <Supplier_Traits>
42 typedef typename Supplier_Traits::Admin_Traits Admin_Traits;
43 typedef typename Supplier_Traits::Admin_Ext_Traits Admin_Ext_Traits;
44 typedef typename Supplier_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_Supplier_T ();
55 /// Destructor
56 ~TAO_Notify_Tests_Supplier_T ();
58 /// For backward compatibility. use <get_proxy> instead.
59 Proxy_Traits_PTR get_proxy_consumer ();
61 /// Send offer change.
62 void offer_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 // = NotifySubscribe
73 virtual void subscription_change (
74 const CosNotification::EventTypeSeq & added,
75 const CosNotification::EventTypeSeq & removed);
78 #include "Supplier_T.cpp"
80 #include /**/ "ace/post.h"
81 #endif /* TAO_Notify_Tests_SUPPLIER_T_H */