00001 // -*- C++ -*- 00002 // 00003 // PolicyS_T.h,v 1.22 2006/05/16 12:34:39 jwillemsen Exp 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 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS 00088 ); 00089 00090 // TAO_IDL - Generated from 00091 // be\be_visitor_operation/tie_sh.cpp:60 00092 00093 CORBA::PolicyType policy_type ( 00094 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS 00095 ) 00096 ACE_THROW_SPEC (( 00097 CORBA::SystemException 00098 )); 00099 00100 // TAO_IDL - Generated from 00101 // be\be_visitor_operation/tie_sh.cpp:60 00102 00103 ::CORBA::Policy_ptr copy ( 00104 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS 00105 ) 00106 ACE_THROW_SPEC (( 00107 CORBA::SystemException 00108 )); 00109 00110 // TAO_IDL - Generated from 00111 // be\be_visitor_operation/tie_sh.cpp:60 00112 00113 void destroy ( 00114 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS 00115 ) 00116 ACE_THROW_SPEC (( 00117 CORBA::SystemException 00118 )); 00119 00120 private: 00121 T *ptr_; 00122 PortableServer::POA_var poa_; 00123 CORBA::Boolean rel_; 00124 00125 // copy and assignment are not allowed 00126 Policy_tie (const Policy_tie &); 00127 void operator= (const Policy_tie &); 00128 }; 00129 } // module CORBA 00130 00131 // TAO_IDL - Generated from 00132 // be\be_codegen.cpp:1096 00133 00134 TAO_END_VERSIONED_NAMESPACE_DECL 00135 00136 #if defined (__ACE_INLINE__) 00137 #include "tao/PortableServer/PolicyS_T.inl" 00138 #endif /* defined INLINE */ 00139 00140 #if defined (ACE_TEMPLATES_REQUIRE_SOURCE) 00141 #include "tao/PortableServer/PolicyS_T.cpp" 00142 #endif /* defined REQUIRED SOURCE */ 00143 00144 #if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) 00145 #pragma implementation ("PolicyS_T.cpp") 00146 #endif /* defined REQUIRED PRAGMA */ 00147 00148 #if defined(_MSC_VER) 00149 #pragma warning(pop) 00150 #endif /* _MSC_VER */ 00151 00152 #include /**/ "ace/post.h" 00153 #endif /* ifndef */ 00154