typedef InterfaceDef* CORBA::InterfaceDef_ptr |
Definition at line 42 of file Abstract_Servant_Base.h.
typedef Object* CORBA::Object_ptr |
Definition at line 45 of file Abstract_Servant_Base.h.
typedef TAO_Pseudo_Var_T<Object> CORBA::Object_var |
Definition at line 47 of file Abstract_Servant_Base.h.
typedef TAO_Pseudo_Out_T<Object> CORBA::Object_out |
Definition at line 48 of file Abstract_Servant_Base.h.
typedef TAO_Pseudo_Var_T<Object> CORBA::Object_var |
typedef TAO_Pseudo_Out_T<Object> CORBA::Object_out |
typedef TAO_Pseudo_Var_T<Object> CORBA::Object_var |
Definition at line 35 of file Adapter_Registry.h.
typedef TAO_Pseudo_Out_T<Object> CORBA::Object_out |
Definition at line 36 of file Adapter_Registry.h.
typedef TypeCode* CORBA::TypeCode_ptr |
Definition at line 34 of file AnyTypeCode_Adapter.h.
typedef Policy* CORBA::Policy_ptr |
Definition at line 39 of file AnyTypeCode_Adapter.h.
typedef ACE_CDR::Boolean CORBA::Boolean |
Definition at line 42 of file Basic_Types.h.
typedef Boolean& CORBA::Boolean_out |
Definition at line 43 of file Basic_Types.h.
typedef ACE_CDR::Octet CORBA::Octet |
Definition at line 45 of file Basic_Types.h.
typedef Octet& CORBA::Octet_out |
Definition at line 46 of file Basic_Types.h.
typedef ACE_CDR::Short CORBA::Short |
Definition at line 48 of file Basic_Types.h.
typedef Short& CORBA::Short_out |
Definition at line 49 of file Basic_Types.h.
typedef ACE_CDR::UShort CORBA::UShort |
Definition at line 51 of file Basic_Types.h.
typedef UShort& CORBA::UShort_out |
Definition at line 52 of file Basic_Types.h.
typedef ACE_CDR::Long CORBA::Long |
Definition at line 54 of file Basic_Types.h.
typedef Long& CORBA::Long_out |
Definition at line 55 of file Basic_Types.h.
typedef ACE_CDR::ULong CORBA::ULong |
Definition at line 57 of file Basic_Types.h.
typedef ULong& CORBA::ULong_out |
Definition at line 58 of file Basic_Types.h.
typedef ACE_CDR::LongLong CORBA::LongLong |
Definition at line 60 of file Basic_Types.h.
typedef LongLong& CORBA::LongLong_out |
Definition at line 61 of file Basic_Types.h.
typedef ACE_CDR::ULongLong CORBA::ULongLong |
Definition at line 63 of file Basic_Types.h.
typedef ULongLong& CORBA::ULongLong_out |
Definition at line 64 of file Basic_Types.h.
typedef ACE_CDR::Float CORBA::Float |
Definition at line 66 of file Basic_Types.h.
typedef Float& CORBA::Float_out |
Definition at line 67 of file Basic_Types.h.
typedef ACE_CDR::Double CORBA::Double |
Definition at line 69 of file Basic_Types.h.
typedef Double& CORBA::Double_out |
Definition at line 70 of file Basic_Types.h.
typedef ACE_CDR::LongDouble CORBA::LongDouble |
Definition at line 72 of file Basic_Types.h.
typedef LongDouble& CORBA::LongDouble_out |
Definition at line 73 of file Basic_Types.h.
typedef ACE_CDR::Char CORBA::Char |
Definition at line 75 of file Basic_Types.h.
typedef Char& CORBA::Char_out |
Definition at line 76 of file Basic_Types.h.
typedef ACE_CDR::WChar CORBA::WChar |
Definition at line 78 of file Basic_Types.h.
typedef WChar& CORBA::WChar_out |
Definition at line 79 of file Basic_Types.h.
typedef TAO::String_var<CORBA::Char> CORBA::String_var |
Definition at line 82 of file Basic_Types.h.
typedef TAO::String_out<CORBA::Char> CORBA::String_out |
Definition at line 83 of file Basic_Types.h.
Definition at line 84 of file Basic_Types.h.
Definition at line 85 of file Basic_Types.h.
typedef TypeCode* CORBA::TypeCode_ptr |
Definition at line 87 of file Basic_Types.h.
typedef Object* CORBA::Object_ptr |
Definition at line 37 of file Collocation_Proxy_Broker.h.
typedef TAO_Pseudo_Var_T<Object> CORBA::Object_var |
Definition at line 39 of file Collocation_Proxy_Broker.h.
typedef TAO_Pseudo_Out_T<Object> CORBA::Object_out |
Definition at line 40 of file Collocation_Proxy_Broker.h.
typedef Object* CORBA::Object_ptr |
Definition at line 32 of file Collocation_Resolver.h.
typedef ORB* CORBA::ORB_ptr |
Definition at line 37 of file CORBA_methods.h.
typedef Environment* CORBA::Environment_ptr |
Definition at line 40 of file CORBA_methods.h.
typedef Object* CORBA::Object_ptr |
Definition at line 43 of file CORBA_methods.h.
typedef Principal* CORBA::Principal_ptr |
Definition at line 46 of file CORBA_methods.h.
typedef OperationDef* CORBA::OperationDef_ptr |
Definition at line 49 of file CORBA_methods.h.
typedef TAO::String_var<char> CORBA::String_var |
Definition at line 261 of file CORBA_String.h.
typedef TAO::String_out<char> CORBA::String_out |
Definition at line 262 of file CORBA_String.h.
Definition at line 263 of file CORBA_String.h.
Definition at line 264 of file CORBA_String.h.
typedef Object* CORBA::Object_ptr |
Definition at line 30 of file Dynamic_Adapter.h.
typedef ORB* CORBA::ORB_ptr |
Definition at line 33 of file Dynamic_Adapter.h.
typedef NVList* CORBA::NVList_ptr |
Definition at line 36 of file Dynamic_Adapter.h.
typedef NamedValue* CORBA::NamedValue_ptr |
Definition at line 39 of file Dynamic_Adapter.h.
typedef ExceptionList* CORBA::ExceptionList_ptr |
Definition at line 42 of file Dynamic_Adapter.h.
typedef Request* CORBA::Request_ptr |
Definition at line 45 of file Dynamic_Adapter.h.
typedef Context* CORBA::Context_ptr |
Definition at line 48 of file Dynamic_Adapter.h.
typedef ServerRequest* CORBA::ServerRequest_ptr |
Definition at line 51 of file Dynamic_Adapter.h.
typedef ULong CORBA::Flags |
Definition at line 54 of file Dynamic_Adapter.h.
typedef Environment* CORBA::Environment_ptr |
Definition at line 43 of file Environment.h.
Definition at line 45 of file Environment.h.
Definition at line 46 of file Environment.h.
typedef TypeCode* CORBA::TypeCode_ptr |
Definition at line 54 of file Exception.h.
typedef Any* CORBA::Any_ptr |
Definition at line 59 of file Exception.h.
typedef TypeCode* CORBA::TypeCode_ptr |
Definition at line 29 of file Exception_Data.h.
typedef InterfaceDef* CORBA::InterfaceDef_ptr |
Definition at line 34 of file IFR_Client_Adapter.h.
typedef ORB* CORBA::ORB_ptr |
Definition at line 37 of file IFR_Client_Adapter.h.
typedef Object* CORBA::Object_ptr |
Definition at line 40 of file IFR_Client_Adapter.h.
typedef OperationDef* CORBA::OperationDef_ptr |
Definition at line 43 of file IFR_Client_Adapter.h.
typedef NVList* CORBA::NVList_ptr |
Definition at line 46 of file IFR_Client_Adapter.h.
typedef Object* CORBA::Object_ptr |
Definition at line 40 of file Invocation_Adapter.h.
typedef TAO_Pseudo_Var_T<Object> CORBA::Object_var |
Definition at line 42 of file Invocation_Adapter.h.
typedef Object* CORBA::Object_ptr |
Definition at line 31 of file IOR_Parser.h.
typedef ORB* CORBA::ORB_ptr |
Definition at line 34 of file IOR_Parser.h.
typedef LocalObject* CORBA::LocalObject_ptr |
Definition at line 38 of file LocalObject.h.
Definition at line 40 of file LocalObject.h.
Definition at line 41 of file LocalObject.h.
typedef Object* CORBA::Object_ptr |
Definition at line 33 of file LocateRequest_Invocation_Adapter.h.
typedef TAO_Pseudo_Var_T<Object> CORBA::Object_var |
Definition at line 35 of file LocateRequest_Invocation_Adapter.h.
typedef NVList* CORBA::NVList_ptr |
Definition at line 32 of file NVList_Adapter.h.
typedef NamedValue* CORBA::NamedValue_ptr |
Definition at line 35 of file NVList_Adapter.h.
typedef InterfaceDef* CORBA::InterfaceDef_ptr |
typedef Context* CORBA::Context_ptr |
typedef Request* CORBA::Request_ptr |
typedef NVList* CORBA::NVList_ptr |
typedef NamedValue* CORBA::NamedValue_ptr |
typedef ULong CORBA::Flags |
typedef ExceptionList* CORBA::ExceptionList_ptr |
typedef ContextList* CORBA::ContextList_ptr |
typedef Object* CORBA::Object_ptr |
typedef TAO_Pseudo_Var_T<Object> CORBA::Object_var |
typedef TAO_Pseudo_Out_T<Object> CORBA::Object_out |
typedef Object* CORBA::Object_ptr |
Definition at line 30 of file Object_Loader.h.
typedef ORB* CORBA::ORB_ptr |
Definition at line 33 of file Object_Loader.h.
typedef Object* CORBA::Object_ptr |
Definition at line 39 of file Object_Proxy_Broker.h.
typedef Object* CORBA::Object_ptr |
Definition at line 32 of file Object_T.h.
typedef ExceptionList* CORBA::ExceptionList_ptr |
typedef ContextList* CORBA::ContextList_ptr |
typedef Context* CORBA::Context_ptr |
typedef NVList* CORBA::NVList_ptr |
typedef NamedValue* CORBA::NamedValue_ptr |
typedef Policy* CORBA::Policy_ptr |
typedef CORBA::ULong CORBA::PolicyType |
typedef TAO_VarSeq_Var_T< ORB_ObjectIdList > CORBA::ORB_ObjectIdList_var |
typedef TAO_Seq_Out_T< ORB_ObjectIdList > CORBA::ORB_ObjectIdList_out |
typedef ValueFactoryBase* CORBA::ValueFactory |
typedef UShort CORBA::ServiceType |
typedef Request* CORBA::Request_ptr |
typedef TAO_Pseudo_Var_T<Request> CORBA::Request_var |
typedef TAO_Pseudo_Out_T<Request> CORBA::Request_out |
typedef ORB* CORBA::ORB_ptr |
typedef TAO_Pseudo_Var_T<ORB> CORBA::ORB_var |
typedef TAO_Pseudo_Out_T<ORB> CORBA::ORB_out |
typedef CORBA::Short CORBA::ValueModifier |
typedef TAO::unbounded_object_reference_sequence< CORBA::Request, CORBA::Request_var > CORBA::RequestSeq |
typedef TAO_VarSeq_Var_T< RequestSeq > CORBA::RequestSeq_var |
typedef TAO_Seq_Out_T< RequestSeq > CORBA::RequestSeq_out |
typedef ORB* CORBA::ORB_ptr |
Definition at line 116 of file ORB_Core.h.
typedef ULong CORBA::PolicyType |
Definition at line 38 of file Policy_Validator.h.
typedef Policy* CORBA::Policy_ptr |
Definition at line 55 of file PolicyC.cpp.
typedef TAO_Objref_Var_T<Policy> CORBA::Policy_var |
Definition at line 57 of file PolicyC.cpp.
typedef TAO_Objref_Out_T<Policy> CORBA::Policy_out |
Definition at line 58 of file PolicyC.cpp.
typedef CORBA::Short CORBA::PolicyErrorCode |
typedef Policy* CORBA::Policy_ptr |
typedef TAO_Objref_Var_T< Policy > CORBA::Policy_var |
typedef TAO_Objref_Out_T< Policy > CORBA::Policy_out |
typedef ULong CORBA::PolicyType |
Definition at line 31 of file PolicyFactory_Registry_Adapter.h.
typedef Policy* CORBA::Policy_ptr |
Definition at line 33 of file PolicyFactory_Registry_Adapter.h.
typedef Principal* CORBA::Principal_ptr |
Definition at line 38 of file Principal.h.
Definition at line 41 of file Principal.h.
Definition at line 42 of file Principal.h.
typedef Object* CORBA::Object_ptr |
Definition at line 43 of file Profile_Transport_Resolver.h.
typedef TAO_Pseudo_Var_T<Object> CORBA::Object_var |
Definition at line 37 of file Request_Dispatcher.h.
typedef TAO_Pseudo_Out_T<Object> CORBA::Object_out |
Definition at line 39 of file Request_Dispatcher.h.
typedef Object* CORBA::Object_ptr |
Definition at line 41 of file Service_Callbacks.h.
typedef ORB* CORBA::ORB_ptr |
Definition at line 58 of file TAO_Server_Request.h.
typedef TCKind& CORBA::TCKind_out |
Definition at line 119 of file Typecode_typesC.h.
typedef TAO_Pseudo_Var_T<TypeCode> CORBA::TypeCode_var |
Definition at line 38 of file TypeCodeFactory_Adapter.h.
typedef TAO_Pseudo_Out_T<TypeCode> CORBA::TypeCode_out |
Definition at line 41 of file TypeCodeFactory_Adapter.h.
typedef CORBA::Short CORBA::ValueModifier |
Definition at line 43 of file TypeCodeFactory_Adapter.h.
typedef Object* CORBA::Object_ptr |
Definition at line 30 of file Valuetype_Adapter.h.
typedef AbstractBase* CORBA::AbstractBase_ptr |
Definition at line 33 of file Valuetype_Adapter.h.
typedef ValueFactoryBase* CORBA::ValueFactory |
Definition at line 38 of file Valuetype_Adapter.h.
Enumeration used to identify the type of CORBA exception.
CORBA exceptions generally fall into two categories, user exceptions and system exceptions. This enumeration is used when identifying the type of CORBA exception.
NO_EXCEPTION | |
NO_EXCEPTION | |
USER_EXCEPTION | |
USER_EXCEPTION | |
SYSTEM_EXCEPTION | |
SYSTEM_EXCEPTION |
Definition at line 73 of file Exception.h.
00074 { 00075 NO_EXCEPTION, 00076 USER_EXCEPTION, 00077 SYSTEM_EXCEPTION 00078 };
NO_EXCEPTION | |
NO_EXCEPTION | |
USER_EXCEPTION | |
USER_EXCEPTION | |
SYSTEM_EXCEPTION | |
SYSTEM_EXCEPTION |
Definition at line 54 of file orb.idl.
00055 { 00056 NO_EXCEPTION, 00057 USER_EXCEPTION, 00058 SYSTEM_EXCEPTION 00059 };
Completion status for CORBA system exceptions.
Enumerations that denote how an operation was (not) completed when a CORBA::SystemException
is thrown.
COMPLETED_YES | Successful or exceptional completion. |
COMPLETED_NO | Didn't change any state; retry is OK. |
COMPLETED_MAYBE | Can't say what happened; retry unsafe. |
Definition at line 77 of file SystemException.h.
00078 { 00079 COMPLETED_YES, ///< Successful or exceptional completion. 00080 COMPLETED_NO, ///< Didn't change any state; retry is OK. 00081 COMPLETED_MAYBE ///< Can't say what happened; retry unsafe. 00082 };
enum CORBA::TCKind |
Definition at line 73 of file Typecode_typesC.h.
00074 { 00075 tk_null, 00076 tk_void, 00077 tk_short, 00078 tk_long, 00079 tk_ushort, 00080 tk_ulong, 00081 tk_float, 00082 tk_double, 00083 tk_boolean, 00084 tk_char, 00085 tk_octet, 00086 tk_any, 00087 tk_TypeCode, 00088 tk_Principal, 00089 tk_objref, 00090 tk_struct, 00091 tk_union, 00092 tk_enum, 00093 tk_string, 00094 tk_sequence, 00095 tk_array, 00096 tk_alias, 00097 tk_except, 00098 tk_longlong, 00099 tk_ulonglong, 00100 tk_longdouble, 00101 tk_wchar, 00102 tk_wstring, 00103 tk_fixed, 00104 tk_value, 00105 tk_value_box, 00106 tk_native, 00107 tk_abstract_interface, 00108 tk_local_interface, 00109 tk_component, 00110 tk_home, 00111 tk_event 00112 00113 // This symbol is not defined by CORBA 3.0. It's used to speed up 00114 // dispatch based on TCKind values, and lets many important ones 00115 // just be table lookups. It must always be the last enum value!! 00116 , TAO_TC_KIND_COUNT 00117 };
TAO_Export ORB_ptr CORBA::ORB_init | ( | int & | argc, | |
char * | argv[], | |||
const char * | orbid | |||
) |
ORB Initialization
Definition at line 1187 of file ORB.cpp.
References CORBA::ORB::_duplicate(), CORBA::ORB::_nil(), CORBA::SystemException::_tao_minor_code(), ACE_DEBUG, ACE_ERROR, ACE_NEW_THROW_EX, ACE_TEXT, ACE_TEXT_CHAR_TO_TCHAR, ACE_String_Base< CHAR >::c_str(), COMPLETED_NO, TAO::find_orb_context(), TAO_ORB_Core_Auto_Ptr::get(), ACE_Argv_Type_Converter::get_argc(), ACE_Argv_Type_Converter::get_ASCII_argv(), ACE_Argv_Type_Converter::get_TCHAR_argv(), LM_DEBUG, LM_ERROR, TAO::ORB::open_global_services(), TAO::ORB::open_services(), TAO_ORB_Core::orbinitializer_registry(), TAO::parse_orb_opt(), TAO_ORB_Core_Auto_Ptr::reset(), ACE_OS::strlen(), TAO_debug_level, and TAO_ORB_CORE_INIT_LOCATION_CODE.
Referenced by TAO_ORB_Core_instance().
01188 { 01189 // It doesn't make sense for argc to be zero and argv to be 01190 // non-empty/zero, or for argc to be greater than zero and argv be 01191 // zero. 01192 size_t const argv0_len = (argv ? (*argv 01193 ? ACE_OS::strlen (*argv) 01194 : 0) 01195 : 0); 01196 01197 if ((argc == 0 && argv0_len != 0) 01198 || (argc != 0 && (argv == 0 || argv[0] == 0))) 01199 { 01200 throw ::CORBA::BAD_PARAM ( 01201 CORBA::SystemException::_tao_minor_code ( 01202 0, 01203 EINVAL), 01204 CORBA::COMPLETED_NO); 01205 } 01206 01207 // Copy command line parameter not to corrupt the original. 01208 ACE_Argv_Type_Converter command_line(argc, argv); 01209 int tmpargc = command_line.get_argc (); 01210 ACE_TCHAR **tmpargv = command_line.get_TCHAR_argv (); 01211 01212 // Scan the parameters to find any we could interpret to 01213 // use for initializing the global context. Note that if 01214 // the global context has been initialized already, the 01215 // parameters may either be ignored, or later used to initialize 01216 // a local configuration context. The chosen action depends on 01217 // weather we want the ORB to share the global context or 01218 // have its own, private (or local) context. 01219 if (TAO::ORB::open_global_services (tmpargc, tmpargv) == -1) 01220 { 01221 return CORBA::ORB::_nil (); 01222 } 01223 01224 // Make sure the following is done after the global ORB 01225 // initialization since we need to have exceptions initialized. 01226 01227 // Use this string variable to hold the orbid 01228 ACE_CString orbid_string (orbid); 01229 TAO::parse_orb_opt (command_line, ACE_TEXT("-ORBid"), orbid_string); 01230 01231 // Get ORB Core 01232 TAO_ORB_Core_Auto_Ptr oc (TAO::ORB_Table::instance ()->find (orbid_string.c_str ())); 01233 01234 // The ORB was already initialized. Just return that one. 01235 if (oc.get () != 0) 01236 { 01237 return CORBA::ORB::_duplicate (oc->orb ()); 01238 } 01239 01240 01241 // Determine the service object registry this ORB will use. The choises 01242 // are: (a) the legacy (global); (b) its own, local, or (c) share somebody 01243 // else's configuration. By default use the process-wide (global) context 01244 // Use this string variable to hold the configuration identity key 01245 ACE_CString orbconfig_string; 01246 TAO::parse_orb_opt (command_line, ACE_TEXT("-ORBGestalt"), orbconfig_string); 01247 ACE_Intrusive_Auto_Ptr<ACE_Service_Gestalt> gestalt = TAO::find_orb_context (orbconfig_string); 01248 01249 // An ORB corresponding to the desired ORBid doesn't exist so create 01250 // a new one. 01251 TAO_ORB_Core * tmp = 0; 01252 ACE_NEW_THROW_EX (tmp, 01253 TAO_ORB_Core (orbid_string.c_str (), gestalt), 01254 CORBA::NO_MEMORY ( 01255 CORBA::SystemException::_tao_minor_code (0, 01256 ENOMEM), 01257 CORBA::COMPLETED_NO)); 01258 01259 // The ORB table increases the reference count on the ORB Core 01260 // so do not release it here. Allow the TAO_ORB_Core_Auto_Ptr 01261 // to decrease the reference count on the ORB Core when it goes 01262 // out of scope. 01263 oc.reset (tmp); 01264 01265 // Having the ORB's default static services be shared among all ORBs 01266 // is tempting from the point of view of reducing the dynamic 01267 // footprint. However, if the ORB in a DLL and the rest of that 01268 // application most likely neither cares, nor wishes to know about 01269 // them. Furthermore, if the ORB DLL gets unloaded, the static 01270 // services it had registered globaly will no longer be accesible, 01271 // which will have disastrous consequences at the process 01272 // shutdown. Hence, the ACE_Service_Config_Guard ensures that for 01273 // the current thread, any references to the global 01274 // ACE_Service_Config will be re-routed to this ORB's service gestalt. 01275 01276 ACE_Service_Config_Guard scg (oc->configuration ()); 01277 01278 // Initialize the Service Configurator. This must occur before the 01279 // ORBInitializer::pre_init() method is invoked on each registered 01280 // ORB initializer. 01281 int result = TAO::ORB::open_services (oc->configuration (), 01282 command_line.get_argc (), 01283 command_line.get_TCHAR_argv ()); 01284 01285 // Check for errors returned from <TAO_Internal::open_services>. 01286 if (result != 0 && errno != ENOENT) 01287 { 01288 ACE_ERROR ((LM_ERROR, 01289 ACE_TEXT ("(%P|%t) %p\n"), 01290 ACE_TEXT ("Unable to initialize the ") 01291 ACE_TEXT ("Service Configurator"))); 01292 throw ::CORBA::INITIALIZE ( 01293 CORBA::SystemException::_tao_minor_code ( 01294 TAO_ORB_CORE_INIT_LOCATION_CODE, 01295 0), 01296 CORBA::COMPLETED_NO); 01297 } 01298 01299 TAO::ORBInitializer_Registry_Adapter * orbinitializer_registry = 01300 oc.get ()->orbinitializer_registry (); 01301 01302 PortableInterceptor::SlotId slotid = 0; 01303 size_t pre_init_count = 0; 01304 01305 if (orbinitializer_registry != 0) 01306 { 01307 pre_init_count = 01308 orbinitializer_registry->pre_init (oc.get (), 01309 command_line.get_argc(), 01310 command_line.get_ASCII_argv(), 01311 slotid); 01312 } 01313 01314 // Initialize the ORB Core instance. 01315 result = oc->init (command_line.get_argc(), 01316 command_line.get_ASCII_argv()); 01317 01318 if (orbinitializer_registry != 0) 01319 { 01320 orbinitializer_registry->post_init (pre_init_count, 01321 oc.get (), 01322 command_line.get_argc(), 01323 command_line.get_ASCII_argv(), 01324 slotid); 01325 } 01326 01327 if (TAO_debug_level > 2) 01328 { 01329 ACE_DEBUG ((LM_DEBUG, 01330 ACE_TEXT("TAO (%P|%t) created new ORB <%s>\n"), 01331 ACE_TEXT_CHAR_TO_TCHAR (orbid_string.c_str ()))); 01332 } 01333 01334 // Before returning remember to store the ORB into the table... 01335 if (TAO::ORB_Table::instance ()->bind (orbid_string.c_str (), 01336 oc.get ()) != 0) 01337 throw ::CORBA::INTERNAL (0, CORBA::COMPLETED_NO); 01338 01339 // Return a duplicate since the ORB_Core should release the last 01340 // reference to the ORB. 01341 return CORBA::ORB::_duplicate (oc->orb ()); 01342 }
TAO_NAMESPACE_INLINE_FUNCTION Boolean CORBA::is_nil | ( | Environment_ptr | ) |
Definition at line 12 of file Environment.inl.
Referenced by CORBA::Policy::_duplicate(), TAO_Object_Ref_Table::bind(), TAO_ORB_Core::collocation_strategy(), TAO_Policy_Set::copy_from(), TAO_Stub::get_cached_policy(), TAO_ORB_Core::get_cached_policy(), TAO_ORB_Core::get_cached_policy_including_current(), TAO_Profile::get_policies(), TAO_Stub::get_policy(), TAO_ORB_Core::get_policy(), TAO_ORB_Core::get_policy_including_current(), TAO_ORB_Core::implrepo_service(), TAO_Stub::is_equivalent(), TAO_CORBALOC_Parser::make_stub_from_mprofile(), TAO::Narrow_Utils< T >::narrow(), TAO::LocateRequest_Invocation_Adapter::object_forwarded(), TAO::Invocation_Adapter::object_forwarded(), CORBA::ORB::object_to_string(), TAO_CORBANAME_Parser::parse_string(), CORBA::ORB::register_initial_reference(), release(), TAO_ORB_Core::resolve_codecfactory(), TAO_ORB_Core::resolve_compression_manager(), TAO_ORB_Core::resolve_dynanyfactory(), CORBA::ORB::resolve_initial_references(), TAO_ORB_Core::resolve_ior_manipulation(), TAO_ORB_Core::resolve_ior_table(), TAO_ORB_Core::resolve_monitor(), TAO_ORB_Core::resolve_picurrent(), TAO_ORB_Core::resolve_poa_current(), TAO_ORB_Core::resolve_rt_orb(), TAO_ORB_Core::resolve_typecodefactory(), TAO_ORB_Core::root_poa(), TAO_Policy_Set::set_policy_overrides(), TAO_Policy_Set::TAO_Policy_Set(), TAO::Narrow_Utils< T >::unchecked_narrow(), and CORBA::ORB::url_ior_string_to_object().
TAO_NAMESPACE_INLINE_FUNCTION void CORBA::release | ( | Environment_ptr | ) |
Definition at line 19 of file Environment.inl.
Referenced by CORBA::Policy::_tao_any_destructor(), CORBA::Object::_tao_any_destructor(), CORBA::Policy::_tao_release(), TAO::Inout_Object_Argument_T< S_ptr, S_traits, Insert_Policy >::demarshal(), TAO_ORB_Core::fini(), TAO_Objref_Var_T< T >::free(), TAO::String_Manager_T< charT >::operator=(), TAO_Pseudo_Var_T< T >::operator=(), TAO_Objref_Var_T< T >::operator=(), TAO::unbounded_object_reference_sequence< object_t, object_t_var >::operator[](), TAO::unbounded_basic_string_sequence< charT >::operator[](), TAO::bounded_object_reference_sequence< object_t, object_t_var, MAX >::operator[](), TAO::bounded_basic_string_sequence< charT, MAX >::operator[](), TAO::String_Manager_T< charT >::out(), TAO_Pseudo_Var_T< T >::out(), TAO_Objref_Var_T< T >::out(), TAO::String_var< charT >::out(), TAO::details::string_sequence_element< traits >::pseudo_copy_swap(), TAO::details::object_reference_sequence_element< obj_ref_traits >::pseudo_copy_swap(), TAO::details::object_reference_traits_base< object_t, object_t_var >::release(), TAO::Objref_Traits< CORBA::Object >::release(), TAO::details::string_traits_decorator< charT, TAO::details::string_traits< charT, dummy > >::release_range(), TAO::details::object_reference_traits_decorator< object_t, object_t_var, TAO::details::object_reference_traits< object_t, object_t_var, dummy > >::release_range(), TAO::unbounded_value_sequence< T >::replace(), TAO::unbounded_value_sequence< CORBA::Octet >::replace(), TAO::unbounded_object_reference_sequence< object_t, object_t_var >::replace(), TAO::unbounded_basic_string_sequence< charT >::replace(), TAO::unbounded_array_sequence< T_array, T_slice, T_tag >::replace(), TAO::bounded_value_sequence< T, MAX >::replace(), TAO::bounded_object_reference_sequence< object_t, object_t_var, MAX >::replace(), TAO::bounded_basic_string_sequence< charT, MAX >::replace(), TAO::bounded_array_sequence< T_array, T_slice, T_tag, MAX >::replace(), TAO_Objref_Var_T< T >::reset(), TAO_ORB_Core::shutdown(), TAO_Objref_Out_T< T >::TAO_Objref_Out_T(), TAO_Pseudo_Out_T< T >::TAO_Pseudo_Out_T(), TAO::In_Object_Clonable_Argument_T< S_ptr, Insert_Policy >::~In_Object_Clonable_Argument_T(), TAO::String_Manager_T< charT >::~String_Manager_T(), TAO::String_var< charT >::~String_var(), TAO_Objref_Var_T< T >::~TAO_Objref_Var_T(), TAO_ORB_Core::~TAO_ORB_Core(), and TAO_Pseudo_Var_T< T >::~TAO_Pseudo_Var_T().
TAO_NAMESPACE_INLINE_FUNCTION void CORBA::release | ( | ORB_ptr | ) |
Definition at line 91 of file ORB.inl.
00092 { 00093 if (!CORBA::is_nil (obj)) 00094 obj->_decr_refcnt (); 00095 }
TAO_NAMESPACE_INLINE_FUNCTION Boolean CORBA::is_nil | ( | Object_ptr | ) |
Definition at line 46 of file Object.inl.
00047 { 00048 if (obj == 0) 00049 { 00050 return true; 00051 } 00052 00053 return CORBA::Object::is_nil_i (obj); 00054 }
TAO_NAMESPACE_INLINE_FUNCTION void CORBA::release | ( | Object_ptr | ) |
TAO_NAMESPACE_INLINE_FUNCTION Boolean CORBA::is_nil | ( | Principal_ptr | ) |
TAO_NAMESPACE_INLINE_FUNCTION void CORBA::release | ( | Principal_ptr | ) |
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE CORBA::Boolean CORBA::is_nil | ( | CORBA::Environment_ptr | env | ) |
ACE_INLINE void CORBA::release | ( | CORBA::Environment_ptr | env | ) |
TAO_Export ACE_OSTREAM_TYPE & CORBA::operator<< | ( | ACE_OSTREAM_TYPE & | os, | |
const CORBA::Exception & | e | |||
) |
Definition at line 124 of file Exception.cpp.
References CORBA::Exception::_name(), and CORBA::Exception::_rep_id().
TAO_Export ACE_OSTREAM_TYPE & CORBA::operator<< | ( | ACE_OSTREAM_TYPE & | os, | |
const CORBA::Exception * | e | |||
) |
Definition at line 132 of file Exception.cpp.
References CORBA::Exception::_name(), and CORBA::Exception::_rep_id().
ACE_INLINE void CORBA::release | ( | CORBA::Object_ptr | obj | ) |
ACE_INLINE CORBA::Boolean CORBA::is_nil | ( | CORBA::Object_ptr | obj | ) |
Definition at line 46 of file Object.inl.
References CORBA::Object::is_nil_i().
00047 { 00048 if (obj == 0) 00049 { 00050 return true; 00051 } 00052 00053 return CORBA::Object::is_nil_i (obj); 00054 }
CORBA::ORB_ptr CORBA::ORB_init | ( | int & | argc, | |
char * | argv[], | |||
const char * | orbid = 0 | |||
) |
ORB Initialization
Definition at line 1187 of file ORB.cpp.
References CORBA::ORB::_duplicate(), CORBA::ORB::_nil(), CORBA::SystemException::_tao_minor_code(), ACE_DEBUG, ACE_ERROR, ACE_NEW_THROW_EX, ACE_TEXT, ACE_TEXT_CHAR_TO_TCHAR, ACE_String_Base< CHAR >::c_str(), COMPLETED_NO, TAO::find_orb_context(), TAO_ORB_Core_Auto_Ptr::get(), ACE_Argv_Type_Converter::get_argc(), ACE_Argv_Type_Converter::get_ASCII_argv(), ACE_Argv_Type_Converter::get_TCHAR_argv(), LM_DEBUG, LM_ERROR, TAO::ORB::open_global_services(), TAO::ORB::open_services(), TAO_ORB_Core::orbinitializer_registry(), TAO::parse_orb_opt(), TAO_ORB_Core_Auto_Ptr::reset(), ACE_OS::strlen(), TAO_debug_level, and TAO_ORB_CORE_INIT_LOCATION_CODE.
Referenced by TAO_ORB_Core_instance().
01188 { 01189 // It doesn't make sense for argc to be zero and argv to be 01190 // non-empty/zero, or for argc to be greater than zero and argv be 01191 // zero. 01192 size_t const argv0_len = (argv ? (*argv 01193 ? ACE_OS::strlen (*argv) 01194 : 0) 01195 : 0); 01196 01197 if ((argc == 0 && argv0_len != 0) 01198 || (argc != 0 && (argv == 0 || argv[0] == 0))) 01199 { 01200 throw ::CORBA::BAD_PARAM ( 01201 CORBA::SystemException::_tao_minor_code ( 01202 0, 01203 EINVAL), 01204 CORBA::COMPLETED_NO); 01205 } 01206 01207 // Copy command line parameter not to corrupt the original. 01208 ACE_Argv_Type_Converter command_line(argc, argv); 01209 int tmpargc = command_line.get_argc (); 01210 ACE_TCHAR **tmpargv = command_line.get_TCHAR_argv (); 01211 01212 // Scan the parameters to find any we could interpret to 01213 // use for initializing the global context. Note that if 01214 // the global context has been initialized already, the 01215 // parameters may either be ignored, or later used to initialize 01216 // a local configuration context. The chosen action depends on 01217 // weather we want the ORB to share the global context or 01218 // have its own, private (or local) context. 01219 if (TAO::ORB::open_global_services (tmpargc, tmpargv) == -1) 01220 { 01221 return CORBA::ORB::_nil (); 01222 } 01223 01224 // Make sure the following is done after the global ORB 01225 // initialization since we need to have exceptions initialized. 01226 01227 // Use this string variable to hold the orbid 01228 ACE_CString orbid_string (orbid); 01229 TAO::parse_orb_opt (command_line, ACE_TEXT("-ORBid"), orbid_string); 01230 01231 // Get ORB Core 01232 TAO_ORB_Core_Auto_Ptr oc (TAO::ORB_Table::instance ()->find (orbid_string.c_str ())); 01233 01234 // The ORB was already initialized. Just return that one. 01235 if (oc.get () != 0) 01236 { 01237 return CORBA::ORB::_duplicate (oc->orb ()); 01238 } 01239 01240 01241 // Determine the service object registry this ORB will use. The choises 01242 // are: (a) the legacy (global); (b) its own, local, or (c) share somebody 01243 // else's configuration. By default use the process-wide (global) context 01244 // Use this string variable to hold the configuration identity key 01245 ACE_CString orbconfig_string; 01246 TAO::parse_orb_opt (command_line, ACE_TEXT("-ORBGestalt"), orbconfig_string); 01247 ACE_Intrusive_Auto_Ptr<ACE_Service_Gestalt> gestalt = TAO::find_orb_context (orbconfig_string); 01248 01249 // An ORB corresponding to the desired ORBid doesn't exist so create 01250 // a new one. 01251 TAO_ORB_Core * tmp = 0; 01252 ACE_NEW_THROW_EX (tmp, 01253 TAO_ORB_Core (orbid_string.c_str (), gestalt), 01254 CORBA::NO_MEMORY ( 01255 CORBA::SystemException::_tao_minor_code (0, 01256 ENOMEM), 01257 CORBA::COMPLETED_NO)); 01258 01259 // The ORB table increases the reference count on the ORB Core 01260 // so do not release it here. Allow the TAO_ORB_Core_Auto_Ptr 01261 // to decrease the reference count on the ORB Core when it goes 01262 // out of scope. 01263 oc.reset (tmp); 01264 01265 // Having the ORB's default static services be shared among all ORBs 01266 // is tempting from the point of view of reducing the dynamic 01267 // footprint. However, if the ORB in a DLL and the rest of that 01268 // application most likely neither cares, nor wishes to know about 01269 // them. Furthermore, if the ORB DLL gets unloaded, the static 01270 // services it had registered globaly will no longer be accesible, 01271 // which will have disastrous consequences at the process 01272 // shutdown. Hence, the ACE_Service_Config_Guard ensures that for 01273 // the current thread, any references to the global 01274 // ACE_Service_Config will be re-routed to this ORB's service gestalt. 01275 01276 ACE_Service_Config_Guard scg (oc->configuration ()); 01277 01278 // Initialize the Service Configurator. This must occur before the 01279 // ORBInitializer::pre_init() method is invoked on each registered 01280 // ORB initializer. 01281 int result = TAO::ORB::open_services (oc->configuration (), 01282 command_line.get_argc (), 01283 command_line.get_TCHAR_argv ()); 01284 01285 // Check for errors returned from <TAO_Internal::open_services>. 01286 if (result != 0 && errno != ENOENT) 01287 { 01288 ACE_ERROR ((LM_ERROR, 01289 ACE_TEXT ("(%P|%t) %p\n"), 01290 ACE_TEXT ("Unable to initialize the ") 01291 ACE_TEXT ("Service Configurator"))); 01292 throw ::CORBA::INITIALIZE ( 01293 CORBA::SystemException::_tao_minor_code ( 01294 TAO_ORB_CORE_INIT_LOCATION_CODE, 01295 0), 01296 CORBA::COMPLETED_NO); 01297 } 01298 01299 TAO::ORBInitializer_Registry_Adapter * orbinitializer_registry = 01300 oc.get ()->orbinitializer_registry (); 01301 01302 PortableInterceptor::SlotId slotid = 0; 01303 size_t pre_init_count = 0; 01304 01305 if (orbinitializer_registry != 0) 01306 { 01307 pre_init_count = 01308 orbinitializer_registry->pre_init (oc.get (), 01309 command_line.get_argc(), 01310 command_line.get_ASCII_argv(), 01311 slotid); 01312 } 01313 01314 // Initialize the ORB Core instance. 01315 result = oc->init (command_line.get_argc(), 01316 command_line.get_ASCII_argv()); 01317 01318 if (orbinitializer_registry != 0) 01319 { 01320 orbinitializer_registry->post_init (pre_init_count, 01321 oc.get (), 01322 command_line.get_argc(), 01323 command_line.get_ASCII_argv(), 01324 slotid); 01325 } 01326 01327 if (TAO_debug_level > 2) 01328 { 01329 ACE_DEBUG ((LM_DEBUG, 01330 ACE_TEXT("TAO (%P|%t) created new ORB <%s>\n"), 01331 ACE_TEXT_CHAR_TO_TCHAR (orbid_string.c_str ()))); 01332 } 01333 01334 // Before returning remember to store the ORB into the table... 01335 if (TAO::ORB_Table::instance ()->bind (orbid_string.c_str (), 01336 oc.get ()) != 0) 01337 throw ::CORBA::INTERNAL (0, CORBA::COMPLETED_NO); 01338 01339 // Return a duplicate since the ORB_Core should release the last 01340 // reference to the ORB. 01341 return CORBA::ORB::_duplicate (oc->orb ()); 01342 }
ACE_INLINE CORBA::Boolean CORBA::is_nil | ( | CORBA::ORB_ptr | obj | ) |
Definition at line 85 of file ORB.inl.
References CORBA::ORB::_nil().
00086 { 00087 return obj == CORBA::ORB::_nil (); 00088 }
ACE_INLINE void CORBA::release | ( | CORBA::ORB_ptr | obj | ) |
Definition at line 91 of file ORB.inl.
References is_nil().
00092 { 00093 if (!CORBA::is_nil (obj)) 00094 obj->_decr_refcnt (); 00095 }
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE CORBA::Boolean CORBA::is_nil | ( | CORBA::Principal_ptr | principal | ) |
ACE_INLINE void CORBA::release | ( | CORBA::Principal_ptr | principal | ) |
TAO_Export char * CORBA::string_dup | ( | const char * | str | ) |
Definition at line 17 of file String_Alloc.cpp.
References ACE_OS::memcpy(), string_alloc(), and ACE_OS::strlen().
Referenced by TAO_IIOP_Endpoint::add_local_endpoint(), TAO_Default_Resource_Factory::add_to_ior_parser_names(), TAO_ORB_Parameters::default_init_ref(), TAO::details::string_traits_base< char >::default_initializer(), TAO_IIOP_Acceptor::dotted_decimal_address(), TAO::details::string_traits_base< char >::duplicate(), TAO_IIOP_Transport::get_listen_point(), TAO_Default_Resource_Factory::get_parser_names(), TAO_IIOP_Acceptor::hostname(), CORBA::ORB::id(), TAO_ORB_Core::list_initial_references(), TAO_ORB_Parameters::mcast_discovery_endpoint(), CORBA::Exception::operator=(), TAO_IIOP_Profile::parse_string_i(), TAO_IIOP_Endpoint::preferred_interfaces(), and TAO_IIOP_Endpoint::set().
00018 { 00019 if (!str) 00020 { 00021 errno = EINVAL; 00022 return 0; 00023 } 00024 00025 size_t const len = ACE_OS::strlen (str); 00026 00027 // This allocates an extra byte for the '\0'; 00028 char * copy = CORBA::string_alloc (static_cast<CORBA::ULong> (len)); 00029 00030 if (copy != 0) 00031 { 00032 // The memcpy() assumes that the destination is a valid buffer. 00033 ACE_OS::memcpy (copy, str, len + 1); 00034 } 00035 00036 return copy; 00037 }
TAO_Export char * CORBA::string_alloc | ( | CORBA::ULong | len | ) |
Definition at line 40 of file String_Alloc.cpp.
References ACE_NEW_RETURN.
Referenced by TAO::details::string_traits_base< char >::allocate(), TAO::ObjectKey::encode_sequence_to_string(), CORBA::ORB::object_to_string(), operator>>(), TAO_IIOP_Profile::parse_string_i(), CORBA::ORB::resolve_initial_references(), string_dup(), and TAO_IIOP_Profile::to_string().
00041 { 00042 // Allocate 1 + strlen to accomodate the null terminating character. 00043 char *s = 0; 00044 ACE_NEW_RETURN (s, 00045 char[size_t (len + 1)], 00046 0); 00047 00048 s[0]= '\0'; 00049 00050 return s; 00051 }
TAO_Export void CORBA::string_free | ( | char * | str | ) |
Definition at line 62 of file String_Alloc.cpp.
References ACE_OS::strlen(), ACE_OS::wscpy(), and wstring_alloc().
Referenced by TAO::details::string_traits_base< CORBA::WChar >::default_initializer(), and TAO::details::string_traits_base< CORBA::WChar >::duplicate().
00063 { 00064 if (!str) 00065 { 00066 errno = EINVAL; 00067 return 0; 00068 } 00069 00070 CORBA::WChar* retval = 00071 CORBA::wstring_alloc (static_cast <CORBA::ULong> (ACE_OS::strlen (str))); 00072 00073 // The wscpy() below assumes that the destination is a valid buffer. 00074 if (retval == 0) 00075 { 00076 return 0; 00077 } 00078 00079 return ACE_OS::wscpy (retval, str); 00080 }
TAO_Export WChar * CORBA::wstring_alloc | ( | CORBA::ULong | len | ) |
Definition at line 83 of file String_Alloc.cpp.
References ACE_NEW_RETURN.
Referenced by TAO::details::string_traits_base< CORBA::WChar >::allocate(), operator>>(), and wstring_dup().
00084 { 00085 CORBA::WChar *s = 0; 00086 ACE_NEW_RETURN (s, 00087 CORBA::WChar [(size_t) (len + 1)], 00088 0); 00089 00090 return s; 00091 }
TAO_Export void CORBA::wstring_free | ( | CORBA::WChar *const | str | ) |
Definition at line 94 of file String_Alloc.cpp.
Referenced by TAO::details::string_traits_base< CORBA::WChar >::release().
native CORBA::ValueFactory |
const ULong CORBA::OMGVMCID = 0x4f4d0000U |
The OMG Vendor Minor Codeset ID (VMCID).
This number is reserved by the OMG as a prefix to all the standard system exception minor codes. Check the CORBA/IIOP specification for details.
OMG defined system exception minor codes should be logically OR-ed with this constant when passing such minor codes to a CORBA::SystemException
constructor. For example, throwing a CORBA::BAD_PARAM
exception with an OMG defined minor code of 2
is done as follows:
* throw ::CORBA::BAD_PARAM (CORBA::OMGVMCID | 2, CORBA::COMPLETED_NO); *
*NOT* as:
* throw ::CORBA::BAD_PARAM (2, CORBA::COMPLETED_NO); *
Definition at line 56 of file ORB_Constants.h.
Referenced by CORBA::LocalObject::_create_request(), CORBA::LocalObject::_get_component(), CORBA::LocalObject::_get_interface(), CORBA::LocalObject::_get_orb(), CORBA::LocalObject::_get_policy(), CORBA::LocalObject::_get_policy_overrides(), CORBA::SystemException::_info(), CORBA::LocalObject::_repository_id(), CORBA::LocalObject::_request(), CORBA::LocalObject::_set_policy_overrides(), CORBA::LocalObject::_validate_connection(), TAO_ORB_Core::check_shutdown(), TAO::LocateRequest_Invocation_Adapter::invoke(), TAO::Collocated_Invocation::invoke(), CORBA::ORB::object_to_string(), TAO_CORBALOC_Parser::parse_string(), CORBA::ORB::register_initial_reference(), TAO::Synch_Oneway_Invocation::remote_oneway(), TAO::Synch_Twoway_Invocation::remote_twoway(), TAO_InputCDR::throw_skel_exception(), TAO_OutputCDR::throw_skel_exception(), TAO_InputCDR::throw_stub_exception(), and TAO_OutputCDR::throw_stub_exception().
const CORBA::PolicyErrorCode CORBA::BAD_POLICY = 0 |
const CORBA::PolicyErrorCode CORBA::BAD_POLICY_TYPE = 2 |