00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef _TAO_IDL_ORIG_POLICYS_T_H_
00032 #define _TAO_IDL_ORIG_POLICYS_T_H_
00033
00034 #include "ace/pre.h"
00035
00036 #if defined(_MSC_VER)
00037 #pragma warning(push)
00038 #pragma warning(disable:4250)
00039 #endif
00040
00041
00042 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00043
00044
00045
00046
00047 namespace POA_CORBA
00048 {
00049
00050
00051
00052
00053
00054 template <class T>
00055 class Policy_tie : public Policy
00056 {
00057 public:
00058 Policy_tie (T &t);
00059
00060 Policy_tie (T &t, PortableServer::POA_ptr poa);
00061
00062 Policy_tie (T *tp, CORBA::Boolean release = true);
00063
00064 Policy_tie (
00065 T *tp,
00066 PortableServer::POA_ptr poa,
00067 CORBA::Boolean release = true
00068 );
00069
00070 ~Policy_tie (void);
00071
00072
00073
00074 T *_tied_object (void);
00075
00076 void _tied_object (T &obj);
00077
00078 void _tied_object (T *obj, CORBA::Boolean release = true);
00079
00080 CORBA::Boolean _is_owner (void);
00081
00082 void _is_owner (CORBA::Boolean b);
00083
00084
00085
00086 PortableServer::POA_ptr _default_POA (
00087 void
00088 );
00089
00090
00091
00092
00093 CORBA::PolicyType policy_type (
00094 void
00095 );
00096
00097
00098
00099
00100 ::CORBA::Policy_ptr copy (
00101 void
00102 );
00103
00104
00105
00106
00107 void destroy (
00108 void
00109 );
00110
00111 private:
00112 T *ptr_;
00113 PortableServer::POA_var poa_;
00114 CORBA::Boolean rel_;
00115
00116
00117 Policy_tie (const Policy_tie &);
00118 void operator= (const Policy_tie &);
00119 };
00120 }
00121
00122
00123
00124
00125 TAO_END_VERSIONED_NAMESPACE_DECL
00126
00127 #if defined (__ACE_INLINE__)
00128 #include "tao/PortableServer/PolicyS_T.inl"
00129 #endif
00130
00131 #if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
00132 #include "tao/PortableServer/PolicyS_T.cpp"
00133 #endif
00134
00135 #if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
00136 #pragma implementation ("PolicyS_T.cpp")
00137 #endif
00138
00139 #if defined(_MSC_VER)
00140 #pragma warning(pop)
00141 #endif
00142
00143 #include "ace/post.h"
00144 #endif
00145