00001 // -*- C++ -*- 00002 // 00003 // RTPortableServerC.cpp,v 1.31 2006/04/19 09:32:35 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:291 00030 00031 00032 #include "tao/RTPortableServer/RTPortableServer.h" 00033 #include "tao/CDR.h" 00034 #include "tao/ORB_Core.h" 00035 #include "ace/OS_NS_string.h" 00036 00037 #if defined (__BORLANDC__) 00038 #pragma option -w-rvl -w-rch -w-ccc -w-aus -w-sig 00039 #endif /* __BORLANDC__ */ 00040 00041 // TAO_IDL - Generated from 00042 // be\be_visitor_arg_traits.cpp:69 00043 00044 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00045 00046 // Arg traits specializations. 00047 namespace TAO 00048 { 00049 } 00050 00051 00052 // TAO_IDL - Generated from 00053 // be\be_visitor_interface/interface_cs.cpp:60 00054 00055 // Traits specializations for RTPortableServer::POA. 00056 00057 RTPortableServer::POA_ptr 00058 TAO::Objref_Traits<RTPortableServer::POA>::duplicate ( 00059 RTPortableServer::POA_ptr p 00060 ) 00061 { 00062 return RTPortableServer::POA::_duplicate (p); 00063 } 00064 00065 void 00066 TAO::Objref_Traits<RTPortableServer::POA>::release ( 00067 RTPortableServer::POA_ptr p 00068 ) 00069 { 00070 ::CORBA::release (p); 00071 } 00072 00073 RTPortableServer::POA_ptr 00074 TAO::Objref_Traits<RTPortableServer::POA>::nil (void) 00075 { 00076 return RTPortableServer::POA::_nil (); 00077 } 00078 00079 CORBA::Boolean 00080 TAO::Objref_Traits<RTPortableServer::POA>::marshal ( 00081 RTPortableServer::POA_ptr p, 00082 TAO_OutputCDR & cdr 00083 ) 00084 { 00085 return CORBA::Object::marshal (p, cdr); 00086 } 00087 00088 RTPortableServer::POA::POA (void) 00089 {} 00090 00091 RTPortableServer::POA::~POA (void) 00092 {} 00093 00094 void 00095 RTPortableServer::POA::_tao_any_destructor (void *_tao_void_pointer) 00096 { 00097 POA *_tao_tmp_pointer = 00098 static_cast<POA *> (_tao_void_pointer); 00099 ::CORBA::release (_tao_tmp_pointer); 00100 } 00101 00102 RTPortableServer::POA_ptr 00103 RTPortableServer::POA::_narrow ( 00104 CORBA::Object_ptr _tao_objref 00105 ACE_ENV_ARG_DECL_NOT_USED 00106 ) 00107 { 00108 if (CORBA::is_nil (_tao_objref)) 00109 { 00110 return POA::_nil (); 00111 } 00112 00113 POA_ptr proxy = 00114 dynamic_cast<POA_ptr> (_tao_objref); 00115 00116 return POA::_duplicate (proxy); 00117 } 00118 00119 RTPortableServer::POA_ptr 00120 RTPortableServer::POA::_unchecked_narrow ( 00121 CORBA::Object_ptr _tao_objref 00122 ACE_ENV_ARG_DECL_NOT_USED 00123 ) 00124 { 00125 if (CORBA::is_nil (_tao_objref)) 00126 { 00127 return POA::_nil (); 00128 } 00129 00130 POA_ptr proxy = 00131 dynamic_cast<POA_ptr> (_tao_objref); 00132 00133 return POA::_duplicate (proxy); 00134 } 00135 00136 RTPortableServer::POA_ptr 00137 RTPortableServer::POA::_duplicate (POA_ptr obj) 00138 { 00139 if (! ::CORBA::is_nil (obj)) 00140 { 00141 obj->_add_ref (); 00142 } 00143 00144 return obj; 00145 } 00146 00147 void 00148 RTPortableServer::POA::_tao_release (POA_ptr obj) 00149 { 00150 ::CORBA::release (obj); 00151 } 00152 00153 CORBA::Boolean 00154 RTPortableServer::POA::_is_a ( 00155 const char *value 00156 ACE_ENV_ARG_DECL_NOT_USED 00157 ) 00158 { 00159 if ( 00160 !ACE_OS::strcmp ( 00161 value, 00162 "IDL:omg.org/PortableServer/POA:2.3" 00163 ) || 00164 !ACE_OS::strcmp ( 00165 value, 00166 "IDL:omg.org/RTPortableServer/POA:1.0" 00167 ) || 00168 !ACE_OS::strcmp ( 00169 value, 00170 "IDL:omg.org/CORBA/LocalObject:1.0" 00171 ) || 00172 !ACE_OS::strcmp ( 00173 value, 00174 "IDL:omg.org/CORBA/Object:1.0" 00175 ) 00176 ) 00177 { 00178 return true; // success using local knowledge 00179 } 00180 else 00181 { 00182 return false; 00183 } 00184 } 00185 00186 const char* RTPortableServer::POA::_interface_repository_id (void) const 00187 { 00188 return "IDL:omg.org/RTPortableServer/POA:1.0"; 00189 } 00190 00191 CORBA::Boolean 00192 RTPortableServer::POA::marshal (TAO_OutputCDR &) 00193 { 00194 return false; 00195 } 00196 00197 TAO_END_VERSIONED_NAMESPACE_DECL