00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Network_Priority_Mapping_Manager.h 00006 * 00007 * $Id: Network_Priority_Mapping_Manager.h 81429 2008-04-24 18:49:54Z johnnyw $ 00008 * 00009 * @author Yamuna Krishnamurthy (yamuna@oomworks.com) 00010 */ 00011 //============================================================================= 00012 00013 00014 #ifndef TAO_NETWORK_PRIORITY_MAPPING_MANAGER_H 00015 #define TAO_NETWORK_PRIORITY_MAPPING_MANAGER_H 00016 #include /**/ "ace/pre.h" 00017 00018 #include "tao/orbconf.h" 00019 00020 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00021 # pragma once 00022 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00023 00024 #if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 00025 00026 #include "tao/RTCORBA/rtcorba_export.h" 00027 #include "tao/RTCORBA/Network_Priority_Mapping.h" 00028 #include "tao/LocalObject.h" 00029 00030 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00031 00032 class TAO_Network_Priority_Mapping_Manager; 00033 class TAO_Network_Priority_Mapping_Manager_var; 00034 typedef TAO_Network_Priority_Mapping_Manager *TAO_Network_Priority_Mapping_Manager_ptr; 00035 00036 00037 namespace RTCORBA 00038 { 00039 } 00040 /** 00041 * @class TAO_Network_Priority_Mapping_Manager 00042 * 00043 * @brief Network_Priority_Mapping_Manager pseudo-objref. 00044 * 00045 * Allows setting of user-defined Network_Priority_Mapping at run-time. 00046 */ 00047 class TAO_RTCORBA_Export TAO_Network_Priority_Mapping_Manager : 00048 public virtual ::CORBA::LocalObject 00049 { 00050 00051 public: 00052 /// Constructor. 00053 TAO_Network_Priority_Mapping_Manager (RTCORBA::NetworkPriorityMapping * mapping); 00054 00055 /// 00056 void mapping (RTCORBA::NetworkPriorityMapping * mapping); 00057 00058 /// 00059 RTCORBA::NetworkPriorityMapping *mapping (void); 00060 00061 public: 00062 typedef TAO_Network_Priority_Mapping_Manager_ptr _ptr_type; 00063 typedef TAO_Network_Priority_Mapping_Manager_var _var_type; 00064 00065 // the static operations 00066 static TAO_Network_Priority_Mapping_Manager_ptr _duplicate ( 00067 TAO_Network_Priority_Mapping_Manager_ptr obj 00068 ); 00069 static TAO_Network_Priority_Mapping_Manager_ptr _narrow ( 00070 CORBA::Object_ptr obj 00071 ); 00072 00073 static TAO_Network_Priority_Mapping_Manager_ptr _nil (void) 00074 { 00075 return (TAO_Network_Priority_Mapping_Manager_ptr)0; 00076 } 00077 00078 virtual const char* _interface_repository_id (void) const; 00079 00080 protected: 00081 00082 /// Protected destructor to enforce proper memory management of this 00083 /// reference counted object. 00084 ~TAO_Network_Priority_Mapping_Manager (void); 00085 00086 private: 00087 00088 TAO_Network_Priority_Mapping_Manager (const TAO_Network_Priority_Mapping_Manager &); 00089 void operator= (const TAO_Network_Priority_Mapping_Manager &); 00090 00091 private: 00092 00093 TAO_Network_Priority_Mapping *mapping_; 00094 }; 00095 00096 class TAO_RTCORBA_Export TAO_Network_Priority_Mapping_Manager_var 00097 : private TAO_Base_var 00098 { 00099 public: 00100 TAO_Network_Priority_Mapping_Manager_var (void); // default constructor 00101 TAO_Network_Priority_Mapping_Manager_var (TAO_Network_Priority_Mapping_Manager_ptr); 00102 TAO_Network_Priority_Mapping_Manager_var (const TAO_Network_Priority_Mapping_Manager_var &); // copy constructor 00103 ~TAO_Network_Priority_Mapping_Manager_var (void); // destructor 00104 00105 TAO_Network_Priority_Mapping_Manager_var &operator= (TAO_Network_Priority_Mapping_Manager_ptr); 00106 TAO_Network_Priority_Mapping_Manager_var &operator= (const TAO_Network_Priority_Mapping_Manager_var &); 00107 TAO_Network_Priority_Mapping_Manager_ptr operator-> (void) const; 00108 00109 /// in, inout, out, _retn 00110 operator const TAO_Network_Priority_Mapping_Manager_ptr &() const; 00111 operator TAO_Network_Priority_Mapping_Manager_ptr &(); 00112 TAO_Network_Priority_Mapping_Manager_ptr in (void) const; 00113 TAO_Network_Priority_Mapping_Manager_ptr &inout (void); 00114 TAO_Network_Priority_Mapping_Manager_ptr &out (void); 00115 TAO_Network_Priority_Mapping_Manager_ptr _retn (void); 00116 TAO_Network_Priority_Mapping_Manager_ptr ptr (void) const; 00117 00118 // Hooks used by template sequence and object manager classes 00119 // for non-defined forward declared interfaces. 00120 static TAO_Network_Priority_Mapping_Manager_ptr duplicate (TAO_Network_Priority_Mapping_Manager_ptr); 00121 static void release (TAO_Network_Priority_Mapping_Manager_ptr); 00122 static TAO_Network_Priority_Mapping_Manager_ptr nil (void); 00123 static TAO_Network_Priority_Mapping_Manager_ptr narrow (CORBA::Object * ); 00124 static CORBA::Object * upcast (void *); 00125 00126 private: 00127 /// Unimplemented - prevents widening assignment. 00128 TAO_Network_Priority_Mapping_Manager_ptr ptr_; 00129 TAO_Network_Priority_Mapping_Manager_var (const TAO_Base_var &rhs); 00130 TAO_Network_Priority_Mapping_Manager_var &operator= (const TAO_Base_var &rhs); 00131 }; 00132 00133 class TAO_RTCORBA_Export TAO_Network_Priority_Mapping_Manager_out 00134 { 00135 public: 00136 TAO_Network_Priority_Mapping_Manager_out (TAO_Network_Priority_Mapping_Manager_ptr &); 00137 TAO_Network_Priority_Mapping_Manager_out (TAO_Network_Priority_Mapping_Manager_var &); 00138 TAO_Network_Priority_Mapping_Manager_out (const TAO_Network_Priority_Mapping_Manager_out &); 00139 TAO_Network_Priority_Mapping_Manager_out &operator= (const TAO_Network_Priority_Mapping_Manager_out &); 00140 TAO_Network_Priority_Mapping_Manager_out &operator= (const TAO_Network_Priority_Mapping_Manager_var &); 00141 TAO_Network_Priority_Mapping_Manager_out &operator= (TAO_Network_Priority_Mapping_Manager_ptr); 00142 operator TAO_Network_Priority_Mapping_Manager_ptr &(); 00143 TAO_Network_Priority_Mapping_Manager_ptr &ptr (void); 00144 TAO_Network_Priority_Mapping_Manager_ptr operator-> (void); 00145 00146 private: 00147 TAO_Network_Priority_Mapping_Manager_ptr &ptr_; 00148 }; 00149 00150 TAO_END_VERSIONED_NAMESPACE_DECL 00151 00152 #if defined (__ACE_INLINE__) 00153 #include "tao/RTCORBA/Network_Priority_Mapping_Manager.inl" 00154 #endif /* __ACE_INLINE__ */ 00155 00156 #endif /* TAO_HAS_CORBA_MESSAGING && TAO_HAS_CORBA_MESSAGING != 0 */ 00157 00158 #include /**/ "ace/post.h" 00159 #endif /* TAO_NETWORK_PRIORITY_MAPPING_MANAGER_H */