00001 // -*- C++ -*- 00002 // 00003 // $Id: PolicyS_T.h 76995 2007-02-11 12:51:42Z johnnyw $ 00004 00005 // **** Code generated by the The ACE ORB (TAO) IDL Compiler **** 00006 // TAO and the TAO IDL Compiler have been developed by: 00007 // Center for Distributed Object Computing 00008 // Washington University 00009 // St. Louis, MO 00010 // USA 00011 // http://www.cs.wustl.edu/~schmidt/doc-center.html 00012 // and 00013 // Distributed Object Computing Laboratory 00014 // University of California at Irvine 00015 // Irvine, CA 00016 // USA 00017 // http://doc.ece.uci.edu/ 00018 // and 00019 // Institute for Software Integrated Systems 00020 // Vanderbilt University 00021 // Nashville, TN 00022 // USA 00023 // http://www.isis.vanderbilt.edu/ 00024 // 00025 // Information about TAO is available at: 00026 // http://www.cs.wustl.edu/~schmidt/TAO.html 00027 00028 // TAO_IDL - Generated from 00029 // be\be_codegen.cpp:536 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 /* _MSC_VER */ 00040 00041 00042 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00043 00044 // TAO_IDL - Generated from 00045 // be\be_visitor_root/root_sth.cpp:116 00046 00047 namespace POA_CORBA 00048 { 00049 00050 // TAO_IDL - Generated from 00051 // be\be_visitor_interface/tie_sh.cpp:87 00052 00053 // TIE class: Refer to CORBA v2.2, Section 20.34.4 00054 template <class T> 00055 class Policy_tie : public Policy 00056 { 00057 public: 00058 Policy_tie (T &t); 00059 // the T& ctor 00060 Policy_tie (T &t, PortableServer::POA_ptr poa); 00061 // ctor taking a POA 00062 Policy_tie (T *tp, CORBA::Boolean release = true); 00063 // ctor taking pointer and an ownership flag 00064 Policy_tie ( 00065 T *tp, 00066 PortableServer::POA_ptr poa, 00067 CORBA::Boolean release = true 00068 ); 00069 // ctor with T*, ownership flag and a POA 00070 ~Policy_tie (void); 00071 // dtor 00072 00073 // TIE specific functions 00074 T *_tied_object (void); 00075 // return the underlying object 00076 void _tied_object (T &obj); 00077 // set the underlying object 00078 void _tied_object (T *obj, CORBA::Boolean release = true); 00079 // set the underlying object and the ownership flag 00080 CORBA::Boolean _is_owner (void); 00081 // do we own it 00082 void _is_owner (CORBA::Boolean b); 00083 // set the ownership 00084 00085 // overridden ServantBase operations 00086 PortableServer::POA_ptr _default_POA ( 00087 void 00088 ); 00089 00090 // TAO_IDL - Generated from 00091 // be\be_visitor_operation/tie_sh.cpp:60 00092 00093 CORBA::PolicyType policy_type ( 00094 void 00095 ); 00096 00097 // TAO_IDL - Generated from 00098 // be\be_visitor_operation/tie_sh.cpp:60 00099 00100 ::CORBA::Policy_ptr copy ( 00101 void 00102 ); 00103 00104 // TAO_IDL - Generated from 00105 // be\be_visitor_operation/tie_sh.cpp:60 00106 00107 void destroy ( 00108 void 00109 ); 00110 00111 private: 00112 T *ptr_; 00113 PortableServer::POA_var poa_; 00114 CORBA::Boolean rel_; 00115 00116 // copy and assignment are not allowed 00117 Policy_tie (const Policy_tie &); 00118 void operator= (const Policy_tie &); 00119 }; 00120 } // module CORBA 00121 00122 // TAO_IDL - Generated from 00123 // be\be_codegen.cpp:1096 00124 00125 TAO_END_VERSIONED_NAMESPACE_DECL 00126 00127 #if defined (__ACE_INLINE__) 00128 #include "tao/PortableServer/PolicyS_T.inl" 00129 #endif /* defined INLINE */ 00130 00131 #if defined (ACE_TEMPLATES_REQUIRE_SOURCE) 00132 #include "tao/PortableServer/PolicyS_T.cpp" 00133 #endif /* defined REQUIRED SOURCE */ 00134 00135 #if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) 00136 #pragma implementation ("PolicyS_T.cpp") 00137 #endif /* defined REQUIRED PRAGMA */ 00138 00139 #if defined(_MSC_VER) 00140 #pragma warning(pop) 00141 #endif /* _MSC_VER */ 00142 00143 #include /**/ "ace/post.h" 00144 #endif /* ifndef */ 00145