#include "tao/ORB_Core.h"#include "tao/ORB_Core_TSS_Resources.h"#include "tao/ORB_Table.h"#include "tao/TAO_Internal.h"#include "tao/default_server.h"#include "tao/Profile.h"#include "tao/Stub.h"#include "tao/LF_Follower.h"#include "tao/Leader_Follower.h"#include "tao/LF_Event_Loop_Thread_Helper.h"#include "tao/Connector_Registry.h"#include "tao/Transport_Queueing_Strategies.h"#include "tao/Object_Loader.h"#include "tao/ObjectIdListC.h"#include "tao/BiDir_Adapter.h"#include "tao/ZIOP_Adapter.h"#include "tao/Collocation_Resolver.h"#include "tao/Flushing_Strategy.h"#include "tao/Request_Dispatcher.h"#include "tao/Stub_Factory.h"#include "tao/Thread_Lane_Resources.h"#include "tao/Thread_Lane_Resources_Manager.h"#include "tao/TSS_Resources.h"#include "tao/Protocols_Hooks.h"#include "tao/Network_Priority_Protocols_Hooks.h"#include "tao/IORInterceptor_Adapter.h"#include "tao/IORInterceptor_Adapter_Factory.h"#include "tao/debug.h"#include "tao/TAOC.h"#include "tao/Endpoint_Selector_Factory.h"#include "tao/Client_Strategy_Factory.h"#include "tao/Adapter_Factory.h"#include "tao/Adapter.h"#include "tao/GUIResource_Factory.h"#include "tao/PolicyFactory_Registry_Adapter.h"#include "tao/PolicyFactory_Registry_Factory.h"#include "tao/ORBInitializer_Registry_Adapter.h"#include "tao/Codeset_Manager.h"#include "tao/GIOP_Fragmentation_Strategy.h"#include "tao/SystemException.h"#include "tao/Valuetype_Adapter.h"#include "tao/Valuetype_Adapter_Factory.h"#include "tao/Policy_Manager.h"#include "tao/Policy_Current.h"#include "ace/Reactor.h"#include "ace/Dynamic_Service.h"#include "ace/Arg_Shifter.h"#include "ace/Argv_Type_Converter.h"#include "ace/Static_Object_Lock.h"#include "ace/Auto_Ptr.h"#include "ace/CORBA_macros.h"#include "ace/Logging_Strategy.h"#include "ace/streams.h"#include "ace/OS_NS_strings.h"#include "ace/OS_NS_string.h"#include "ace/Message_Block.h"#include "tao/ClientRequestInterceptor_Adapter.h"#include "tao/ClientRequestInterceptor_Adapter_Factory.h"#include "tao/ServerRequestInterceptor_Adapter.h"#include "tao/ServerRequestInterceptor_Adapter_Factory.h"Go to the source code of this file.
Defines | |
| #define | TOCSRi TAO_ORB_Core_Static_Resources::instance () |
Functions | |
| ACE_STATIC_SVC_DEFINE (TAO_ORB_Core_Static_Resources, ACE_TEXT("TAO_ORB_Core_Static_Resources"), ACE_SVC_OBJ_T,&ACE_SVC_NAME(TAO_ORB_Core_Static_Resources), ACE_Service_Type::DELETE_THIS|ACE_Service_Type::DELETE_OBJ, 0) CORBA | |
| TAO_Export TAO_ORB_Core * | TAO_ORB_Core_instance (void) |
| #define TOCSRi TAO_ORB_Core_Static_Resources::instance () |
| ACE_STATIC_SVC_DEFINE | ( | TAO_ORB_Core_Static_Resources | , | |
| ACE_TEXT("TAO_ORB_Core_Static_Resources") | , | |||
| ACE_SVC_OBJ_T | , | |||
| & | ACE_SVC_NAMETAO_ORB_Core_Static_Resources, | |||
| ACE_Service_Type::DELETE_THIS|ACE_Service_Type::DELETE_OBJ | , | |||
| 0 | ||||
| ) |
Definition at line 89 of file ORB_Core.cpp.
{
return *TAO_TSS_Resources::instance ()->default_environment_;
}
| TAO_Export TAO_ORB_Core* TAO_ORB_Core_instance | ( | void | ) |
Obtain an instance of the first ORB core registered in the ORB table.
Definition at line 3580 of file ORB_Core.cpp.
{
// @@ This is a slight violation of layering, we should use
// TAO_ORB_Core_instance(), but that breaks during startup.
TAO::ORB_Table * const orb_table = TAO::ORB_Table::instance ();
if (orb_table->first_orb () == 0)
{
ACE_MT (ACE_GUARD_RETURN (TAO_SYNCH_RECURSIVE_MUTEX, guard,
*ACE_Static_Object_Lock::instance (), 0));
if (orb_table->first_orb () == 0)
{
// Calling CORBA::ORB_init() returns a duplicated ORB
// reference, so make sure that reference is stored in an
// ORB_var so that no leak occurs. The duplicate ORB
// reference isn't needed outside the scope of this function
// since the corresponding ORB Core instance will still
// exist in the ORB table after the ORB reference is
// destroyed.
try
{
int argc = 0;
ACE_TCHAR **const argv= 0;
CORBA::ORB_var orb =
CORBA::ORB_init (argc, argv);
}
catch (const ::CORBA::Exception&)
{
// @@ What should we do here?
}
}
}
return orb_table->first_orb ();
}
1.7.0