Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / TAO / tao / RTCORBA / Priority_Mapping_Manager.h
bloba0652c6cbf446280fb06399c65650d45b3a1b955
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file Priority_Mapping_Manager.h
7 * @author Marina Spivak (marina@cs.wustl.edu)
8 */
9 //=============================================================================
12 #ifndef TAO_PRIORITY_MAPPING_MANAGER_H
13 #define TAO_PRIORITY_MAPPING_MANAGER_H
14 #include /**/ "ace/pre.h"
16 #include "tao/orbconf.h"
18 #if !defined (ACE_LACKS_PRAGMA_ONCE)
19 # pragma once
20 #endif /* ACE_LACKS_PRAGMA_ONCE */
22 #if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0
24 #include "tao/RTCORBA/rtcorba_export.h"
25 #include "tao/RTCORBA/Priority_Mapping.h"
26 #include "tao/LocalObject.h"
28 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
30 class TAO_Priority_Mapping_Manager;
31 class TAO_Priority_Mapping_Manager_var;
32 typedef TAO_Priority_Mapping_Manager *TAO_Priority_Mapping_Manager_ptr;
35 /**
36 * @class TAO_Priority_Mapping_Manager
38 * @brief Priority_Mapping_Manager pseudo-objref.
40 * Allows setting of user-defined Priority_Mapping at run-time.
42 class TAO_RTCORBA_Export TAO_Priority_Mapping_Manager :
43 public virtual ::CORBA::LocalObject
45 public:
46 /// Constructor.
47 TAO_Priority_Mapping_Manager (RTCORBA::PriorityMapping * mapping);
49 ///
50 void mapping (RTCORBA::PriorityMapping * mapping);
52 ///
53 RTCORBA::PriorityMapping *mapping ();
55 public:
56 typedef TAO_Priority_Mapping_Manager_ptr _ptr_type;
57 typedef TAO_Priority_Mapping_Manager_var _var_type;
59 // the static operations
60 static TAO_Priority_Mapping_Manager_ptr _duplicate (TAO_Priority_Mapping_Manager_ptr obj);
61 static TAO_Priority_Mapping_Manager_ptr _narrow (CORBA::Object_ptr obj);
63 static TAO_Priority_Mapping_Manager_ptr _nil ()
65 return nullptr;
68 virtual const char* _interface_repository_id () const;
70 protected:
71 /// Protected destructor to enforce proper memory management of this
72 /// reference counted object.
73 ~TAO_Priority_Mapping_Manager ();
75 private:
76 TAO_Priority_Mapping_Manager (const TAO_Priority_Mapping_Manager &);
77 void operator= (const TAO_Priority_Mapping_Manager &);
79 private:
80 TAO_Priority_Mapping *mapping_;
83 class TAO_RTCORBA_Export TAO_Priority_Mapping_Manager_var
84 : private TAO_Base_var
86 public:
87 TAO_Priority_Mapping_Manager_var (); // default constructor
88 TAO_Priority_Mapping_Manager_var (TAO_Priority_Mapping_Manager_ptr);
89 TAO_Priority_Mapping_Manager_var (const TAO_Priority_Mapping_Manager_var &); // copy constructor
90 ~TAO_Priority_Mapping_Manager_var (); // destructor
92 TAO_Priority_Mapping_Manager_var &operator= (TAO_Priority_Mapping_Manager_ptr);
93 TAO_Priority_Mapping_Manager_var &operator= (const TAO_Priority_Mapping_Manager_var &);
94 TAO_Priority_Mapping_Manager_ptr operator-> () const;
96 /// in, inout, out, _retn
97 operator const TAO_Priority_Mapping_Manager_ptr &() const;
98 operator TAO_Priority_Mapping_Manager_ptr &();
99 TAO_Priority_Mapping_Manager_ptr in () const;
100 TAO_Priority_Mapping_Manager_ptr &inout ();
101 TAO_Priority_Mapping_Manager_ptr &out ();
102 TAO_Priority_Mapping_Manager_ptr _retn ();
103 TAO_Priority_Mapping_Manager_ptr ptr () const;
105 // Hooks used by template sequence and object manager classes
106 // for non-defined forward declared interfaces.
107 static TAO_Priority_Mapping_Manager_ptr duplicate (TAO_Priority_Mapping_Manager_ptr);
108 static void release (TAO_Priority_Mapping_Manager_ptr);
109 static TAO_Priority_Mapping_Manager_ptr nil ();
110 static TAO_Priority_Mapping_Manager_ptr narrow (CORBA::Object * );
111 static CORBA::Object * upcast (void *);
113 private:
114 TAO_Priority_Mapping_Manager_ptr ptr_;
115 TAO_Priority_Mapping_Manager_var (const TAO_Base_var &rhs) = delete;
116 TAO_Priority_Mapping_Manager_var &operator= (const TAO_Base_var &rhs) = delete;
119 class TAO_RTCORBA_Export TAO_Priority_Mapping_Manager_out
121 public:
122 TAO_Priority_Mapping_Manager_out (TAO_Priority_Mapping_Manager_ptr &);
123 TAO_Priority_Mapping_Manager_out (TAO_Priority_Mapping_Manager_var &);
124 TAO_Priority_Mapping_Manager_out (const TAO_Priority_Mapping_Manager_out &);
125 TAO_Priority_Mapping_Manager_out &operator= (const TAO_Priority_Mapping_Manager_out &);
126 TAO_Priority_Mapping_Manager_out &operator= (const TAO_Priority_Mapping_Manager_var &);
127 TAO_Priority_Mapping_Manager_out &operator= (TAO_Priority_Mapping_Manager_ptr);
128 operator TAO_Priority_Mapping_Manager_ptr &();
129 TAO_Priority_Mapping_Manager_ptr &ptr ();
130 TAO_Priority_Mapping_Manager_ptr operator-> ();
132 private:
133 TAO_Priority_Mapping_Manager_ptr &ptr_;
136 TAO_END_VERSIONED_NAMESPACE_DECL
138 #if defined (__ACE_INLINE__)
139 #include "tao/RTCORBA/Priority_Mapping_Manager.inl"
140 #endif /* __ACE_INLINE__ */
142 #endif /* TAO_HAS_CORBA_MESSAGING && TAO_HAS_CORBA_MESSAGING != 0 */
144 #include /**/ "ace/post.h"
145 #endif /* TAO_PRIORITY_MAPPING_MANAGER_H */