#include <Root_POA.h>
Collaboration diagram for TAO_POA_Static_Resources:
Static Public Member Functions | |
TAO_POA_Static_Resources * | instance (void) |
Return the singleton instance. | |
Public Attributes | |
ACE_CString | ort_adapter_factory_name_ |
ACE_CString | imr_client_adapter_name_ |
Private Member Functions | |
TAO_POA_Static_Resources (void) | |
Constructor. | |
Static Private Attributes | |
TAO_POA_Static_Resources * | instance_ = 0 |
The singleton instance. | |
TAO_POA_Static_Resources * | initialization_reference_ |
This class is used by the POA to store the resources global to all POA's. All instance variables that would have been declared "static" in TAO_Regular_POA, should be declared in this class to avoid the "static initialization order fiasco" as described in http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.11. Briefly, this is the problem that occurs if any static initializers in any other code call into set static members of TAO_Regular_POA. Since the order in which these initializers execute is unspecified, uninitialized members can be accessed.
Definition at line 802 of file Root_POA.h.
|
Constructor.
Definition at line 2662 of file Root_POA.cpp.
02663 : ort_adapter_factory_name_ ("ORT_Adapter_Factory"), 02664 imr_client_adapter_name_ ("ImR_Client_Adapter") 02665 { 02666 } |
|
Return the singleton instance.
Definition at line 2645 of file Root_POA.cpp. References ACE_NEW_RETURN, and instance_. Referenced by TAO_Root_POA::imr_client_adapter_name(), and TAO_Root_POA::ort_adapter_factory_name().
02646 { 02647 if (TAO_POA_Static_Resources::instance_ == 0) 02648 { 02649 // This new is never freed on purpose. The data specified by 02650 // it needs to be around for the last shared library that references 02651 // this class. This could occur in a destructor in a shared library 02652 // that is unloaded after this one. One solution to avoid this 02653 // harmless memory leak would be to use reference counting. 02654 ACE_NEW_RETURN (TAO_POA_Static_Resources::instance_, 02655 TAO_POA_Static_Resources (), 02656 0); 02657 } 02658 02659 return TAO_POA_Static_Resources::instance_; 02660 } |
|
Name of the service object for functions that make calls on the Implementation Repository. The default value is "ImR_Client_Adapter". If TAO_IMR_CLient is linked, imr_client_adapter_name() will be called to set the value to "Concrete_ImR_Client_Adapter". Definition at line 827 of file Root_POA.h. Referenced by TAO_Root_POA::imr_client_adapter_name(). |
|
Initial value: Mostly unused variable whose sole purpose is to enforce the instantiation of a TAO_POA_Static_Resources instance at initialization time.Definition at line 2641 of file Root_POA.cpp. |
|
The singleton instance.
Definition at line 2636 of file Root_POA.cpp. Referenced by instance(). |
|
Name of the factory object used to adapt function calls on the PortableInterceptor interfaces ORT. The default value is "ObjectReferenceTemplate_Adapter_Factory". If the ORT library is linked, the corresponding accessor function objectreferencefactory_adapter_factory_name() will be called to set the value to "Concrete_ObjectReferenceTemplate_Adapter_Factory". Definition at line 819 of file Root_POA.h. Referenced by TAO_Root_POA::ort_adapter_factory_name(). |