#include "tao/TAO_Internal.h"
#include "tao/TAO_Singleton.h"
#include "tao/default_server.h"
#include "tao/default_client.h"
#include "tao/default_resource.h"
#include "tao/IIOP_Factory.h"
#include "tao/MCAST_Parser.h"
#include "tao/CORBANAME_Parser.h"
#include "tao/CORBALOC_Parser.h"
#include "tao/FILE_Parser.h"
#include "tao/HTTP_Parser.h"
#include "tao/DLL_Parser.h"
#include "tao/ORB_Core.h"
#include "tao/Adapter_Factory.h"
#include "tao/Default_Stub_Factory.h"
#include "tao/Default_Endpoint_Selector_Factory.h"
#include "tao/Default_Thread_Lane_Resources_Manager.h"
#include "tao/Default_Collocation_Resolver.h"
#include "tao/Codeset_Manager_Factory_Base.h"
#include "tao/Codeset_Manager.h"
#include "tao/debug.h"
#include "ace/Dynamic_Service.h"
#include "ace/Arg_Shifter.h"
#include "ace/Argv_Type_Converter.h"
#include "ace/ARGV.h"
#include "ace/Env_Value_T.h"
#include "ace/ACE.h"
#include "ace/OS_NS_stdio.h"
#include "ace/Static_Object_Lock.h"
Include dependency graph for TAO_Internal.cpp:
Go to the source code of this file.
Namespaces | |
namespace | TAO_END_VERSIONED_NAMESPACE_DECL |
Defines | |
#define | TAO_DEFAULT_RESOURCE_FACTORY_ARGS 0 |
#define | TAO_DEFAULT_SERVER_STRATEGY_FACTORY_ARGS 0 |
#define | TAO_DEFAULT_CLIENT_STRATEGY_FACTORY_ARGS 0 |
Functions | |
int | parse_global_args_i (int &argc, ACE_TCHAR **argv, ACE_ARGV &svc_config_argv, bool apply_values) |
Modifies the argc to reflect any arguments it has "consumed". | |
int | parse_svcconf_args_i (int &argc, ACE_TCHAR **argv, ACE_ARGV &svc_config_argv) |
Modifies the argc to reflect any arguments it has "consumed". | |
void | register_global_services_i (ACE_Service_Gestalt *pcfg) |
registers all process-wide (global) services, available to all ORBs | |
void | register_additional_services_i (ACE_Service_Gestalt *pcfg) |
int | parse_private_args_i (int &argc, ACE_TCHAR **argv, ACE_ARGV &svc_config_argv, bool &skip_service_config_open) |
Modifies the argc to reflect any arguments it has "consumed". | |
int | open_private_services_i (ACE_Intrusive_Auto_Ptr< ACE_Service_Gestalt > pcfg, int &argc, ACE_TCHAR **argv, bool skip_service_config_open=false, bool ignore_default_svc_conf_file=false) |
Open services, belonging to the gestalt instance. | |
TAO_BEGIN_VERSIONED_NAMESPACE_DECL int | TAO::ORB::open_global_services (int argc, ACE_TCHAR **argv) |
Note that the argument vector will be corrupted upon return. | |
int | TAO::ORB::open_services (ACE_Intrusive_Auto_Ptr< ACE_Service_Gestalt > pcfg, int &argc, ACE_TCHAR **argv) |
int | TAO::ORB::close_services (ACE_Intrusive_Auto_Ptr< ACE_Service_Gestalt > pcfg) |
void | TAO::ORB::default_svc_conf_entries (char const *rf_args, char const *ssf_args, char const *csf_args) |
int | TAO_END_VERSIONED_NAMESPACE_DECL::open_private_services_i (ACE_Intrusive_Auto_Ptr< ACE_Service_Gestalt > pcfg, int &argc, ACE_TCHAR **argv, bool skip_service_config_open, bool ignore_default_svc_conf_file) |
Open services, belonging to the gestalt instance. | |
void | TAO_END_VERSIONED_NAMESPACE_DECL::register_global_services_i (ACE_Service_Gestalt *pcfg) |
registers all process-wide (global) services, available to all ORBs | |
void | TAO_END_VERSIONED_NAMESPACE_DECL::register_additional_services_i (ACE_Service_Gestalt *pcfg) |
int | TAO_END_VERSIONED_NAMESPACE_DECL::parse_svcconf_args_i (int &argc, ACE_TCHAR **argv, ACE_ARGV &svc_config_argv) |
Modifies the argc to reflect any arguments it has "consumed". | |
int | TAO_END_VERSIONED_NAMESPACE_DECL::parse_private_args_i (int &argc, ACE_TCHAR **argv, ACE_ARGV &svc_config_argv, bool &skip_service_config_open) |
Modifies the argc to reflect any arguments it has "consumed". | |
int | TAO_END_VERSIONED_NAMESPACE_DECL::parse_global_args_i (int &argc, ACE_TCHAR **argv, ACE_ARGV &svc_config_argv, bool apply_values) |
Modifies the argc to reflect any arguments it has "consumed". | |
Variables | |
long | service_open_count = 0 |
bool | is_ubergestalt_ready = false |
char const * | resource_factory_args |
char const * | server_strategy_factory_args |
char const * | client_strategy_factory_args |
bool | negotiate_codesets = true |
#define TAO_DEFAULT_CLIENT_STRATEGY_FACTORY_ARGS 0 |
Definition at line 47 of file TAO_Internal.cpp.
#define TAO_DEFAULT_RESOURCE_FACTORY_ARGS 0 |
Definition at line 39 of file TAO_Internal.cpp.
#define TAO_DEFAULT_SERVER_STRATEGY_FACTORY_ARGS 0 |
Definition at line 43 of file TAO_Internal.cpp.
int @5::open_private_services_i | ( | ACE_Intrusive_Auto_Ptr< ACE_Service_Gestalt > | pcfg, | |
int & | argc, | |||
ACE_TCHAR ** | argv, | |||
bool | skip_service_config_open = false , |
|||
bool | ignore_default_svc_conf_file = false | |||
) | [static] |
Open services, belonging to the gestalt instance.
Initialize ORB-local (private) ACE Service Configurator repository.
0
if successful, -1
with errno
set if failure. Definition at line 480 of file TAO_Internal.cpp.
References ACE_DEFAULT_LOGGER_KEY, ACE_Argv_Type_Converter::get_argc(), and ACE_Argv_Type_Converter::get_TCHAR_argv().
Referenced by TAO::ORB::open_global_services(), and TAO::ORB::open_services().
00485 { 00486 00487 if (skip_service_config_open) 00488 { 00489 return 0; 00490 } 00491 00492 #if defined (TAO_PLATFORM_SVC_CONF_FILE_NOTSUP) 00493 ignore_default_svc_conf_file = true; 00494 #endif /* TAO_PLATFORM_SVC_CONF_FILE_NOTSUP */ 00495 00496 // Copy command line parameter to allow conversion 00497 ACE_Argv_Type_Converter command_line (argc, argv); 00498 00499 return pcfg->open (command_line.get_argc (), 00500 command_line.get_TCHAR_argv (), 00501 ACE_DEFAULT_LOGGER_KEY, 00502 0, // Don't ignore static services. 00503 ignore_default_svc_conf_file); 00504 }
int @5::parse_global_args_i | ( | int & | argc, | |
ACE_TCHAR ** | argv, | |||
ACE_ARGV & | svc_config_argv, | |||
bool | apply_values | |||
) | [static] |
Modifies the argc to reflect any arguments it has "consumed".
Parses the supplied command-line arguments to extract any that apply to the process (globally)
When multiple ORBs are being configured, the global options are only processed for the first ORB loaded. However subsequent ORBs may be supplied with some of these options, so they need to be eliminated as though they were processed. For this reason, this function is called for every ORB, but only the first call sets apply_values to true
Definition at line 843 of file TAO_Internal.cpp.
References ACE_DEBUG, ACE_TEXT, ACE_ARGV_T< CHAR_TYPE >::add(), ACE_OS::atoi(), ACE_Arg_Shifter_T< CHAR_TYPE >::consume_arg(), ACE_Arg_Shifter_T< CHAR_TYPE >::cur_arg_strncasecmp(), ACE::debug(), ACE_OS::getenv(), ACE_Arg_Shifter_T< CHAR_TYPE >::ignore_arg(), ACE_Arg_Shifter_T< CHAR_TYPE >::is_anything_left(), LM_DEBUG, and TAO_debug_level.
Referenced by TAO::ORB::open_global_services(), and TAO::ORB::open_services().
00847 { 00848 // NOTE: When adding new global arguments, ensure they are only 00849 // applied when apply_values is true, but that they are always 00850 // consumed, if they need to be consumed. 00851 #if defined (TAO_DEBUG) && !defined (ACE_HAS_WINCE) 00852 // Make it a little easier to debug programs using this code. 00853 if (apply_values) 00854 { 00855 TAO_debug_level = ACE_Env_Value<u_int> ("TAO_ORB_DEBUG", 0); 00856 00857 char * const value = ACE_OS::getenv ("TAO_ORB_DEBUG"); 00858 00859 if (value != 0) 00860 { 00861 TAO_debug_level = ACE_OS::atoi (value); 00862 00863 if (TAO_debug_level <= 0) 00864 { 00865 TAO_debug_level = 1; 00866 } 00867 00868 ACE_DEBUG ((LM_DEBUG, 00869 ACE_TEXT ("TAO_debug_level == %d\n"), 00870 TAO_debug_level)); 00871 } 00872 } 00873 #endif /* TAO_DEBUG && !ACE_HAS_WINCE */ 00874 00875 // Extract the Service Configurator ORB options from the argument 00876 // vector. 00877 ACE_Arg_Shifter arg_shifter (argc, argv); 00878 00879 while (arg_shifter.is_anything_left ()) 00880 { 00881 if (0 == arg_shifter.cur_arg_strncasecmp (ACE_TEXT ("-ORBDebug"))) 00882 { 00883 if (apply_values) 00884 { 00885 // Later, replace all of these 00886 // warning this turns on a daemon. 00887 ACE::debug (1); 00888 } 00889 00890 arg_shifter.consume_arg (); 00891 } 00892 else if (0 == arg_shifter.cur_arg_strncasecmp 00893 (ACE_TEXT ("-ORBDaemon"))) 00894 { 00895 // Be a daemon. 00896 if (apply_values) 00897 { 00898 svc_config_argv.add (ACE_TEXT("-b")); 00899 } 00900 00901 arg_shifter.consume_arg (); 00902 } 00903 // Can't interpret this argument. 00904 // Move on to the next argument. 00905 else 00906 { 00907 // Any arguments that don't match are ignored so 00908 // that the caller can still use them. 00909 arg_shifter.ignore_arg (); 00910 } 00911 } 00912 return 0; 00913 } /* parse_global_args_i */
int @5::parse_private_args_i | ( | int & | argc, | |
ACE_TCHAR ** | argv, | |||
ACE_ARGV & | svc_config_argv, | |||
bool & | skip_service_config_open | |||
) | [static] |
Modifies the argc to reflect any arguments it has "consumed".
Parses the supplied command-line arguments to extract any instance-specific ones.
Definition at line 767 of file TAO_Internal.cpp.
References ACE_TEXT, ACE_ARGV_T< CHAR_TYPE >::add(), ACE_OS::atoi(), ACE_Arg_Shifter_T< CHAR_TYPE >::consume_arg(), ACE_Arg_Shifter_T< CHAR_TYPE >::cur_arg_strncasecmp(), ACE_Arg_Shifter_T< CHAR_TYPE >::get_current(), ACE_Arg_Shifter_T< CHAR_TYPE >::get_the_parameter(), ACE_Arg_Shifter_T< CHAR_TYPE >::ignore_arg(), ACE_Arg_Shifter_T< CHAR_TYPE >::is_anything_left(), negotiate_codesets, and TAO_debug_level.
Referenced by TAO::ORB::open_global_services(), and TAO::ORB::open_services().
00771 { 00772 // Extract the Service Configurator ORB options from the argument 00773 // vector. 00774 ACE_Arg_Shifter arg_shifter (argc, argv); 00775 00776 while (arg_shifter.is_anything_left ()) 00777 { 00778 const ACE_TCHAR *current_arg = 0; 00779 if (0 == arg_shifter.cur_arg_strncasecmp 00780 (ACE_TEXT ("-ORBSkipServiceConfigOpen"))) 00781 { 00782 skip_service_config_open = true; 00783 00784 arg_shifter.consume_arg (); 00785 } 00786 else if (0 != (current_arg = arg_shifter.get_the_parameter 00787 (ACE_TEXT ("-ORBSvcConfDirective")))) 00788 { 00789 // This is used to pass arguments to the Service 00790 // Configurator using the "command line" to provide 00791 // configuration information rather than using a svc.conf 00792 // file. Pass the "-S" to the service configurator. 00793 svc_config_argv.add (ACE_TEXT ("-S")); 00794 svc_config_argv.add (current_arg, true); // quote args! 00795 00796 arg_shifter.consume_arg (); 00797 } 00798 else if (0 != (current_arg = arg_shifter.get_the_parameter 00799 (ACE_TEXT ("-ORBServiceConfigLoggerKey")))) 00800 { 00801 svc_config_argv.add (ACE_TEXT ("-k")); 00802 svc_config_argv.add (current_arg, true); // quote args! 00803 00804 arg_shifter.consume_arg (); 00805 } 00806 else if (0 == arg_shifter.cur_arg_strncasecmp 00807 (ACE_TEXT ("-ORBNegotiateCodesets"))) 00808 { 00809 // Negotiate codesets must be evaluated prior to calling 00810 // register_global_services_i. 00811 00812 // Don't consume, the ORB_Core::init will use it again. 00813 arg_shifter.ignore_arg(); 00814 00815 if (0 != (current_arg = arg_shifter.get_current())) 00816 negotiate_codesets = (ACE_OS::atoi (current_arg)); 00817 00818 arg_shifter.ignore_arg(); 00819 } 00820 else if (0 != (current_arg = 00821 arg_shifter.get_the_parameter 00822 (ACE_TEXT ("-ORBDebugLevel")))) 00823 { 00824 // Allowing different ORBs to change the global debug 00825 // level may be unexpected, but since this 00826 TAO_debug_level = ACE_OS::atoi (current_arg); 00827 00828 arg_shifter.consume_arg (); 00829 } 00830 else 00831 { 00832 // Can't interpret this argument. Move on to the next 00833 // argument. Any arguments that don't match are ignored 00834 // so that the caller can still use them. 00835 arg_shifter.ignore_arg (); 00836 } 00837 } 00838 00839 return 0; 00840 } /* parse_private_args_i */
Modifies the argc to reflect any arguments it has "consumed".
Parses the supplied command-line arguments to extract any that specify a Service Configurator file (-ORBSvcConf). This is done separately, because depending on the context, the configuration file may apply to the process-wide service repository, or to the orb-specific (private) one.
Definition at line 714 of file TAO_Internal.cpp.
References ACE_ERROR_RETURN, ACE_TEXT, ACE_ARGV_T< CHAR_TYPE >::add(), ACE_Arg_Shifter_T< CHAR_TYPE >::consume_arg(), ACE_Arg_Shifter_T< CHAR_TYPE >::cur_arg_strncasecmp(), ACE_OS::fclose(), ACE_OS::fopen(), ACE_Arg_Shifter_T< CHAR_TYPE >::get_the_parameter(), ACE_Arg_Shifter_T< CHAR_TYPE >::ignore_arg(), ACE_Arg_Shifter_T< CHAR_TYPE >::is_anything_left(), and LM_ERROR.
Referenced by TAO::ORB::open_global_services(), and TAO::ORB::open_services().
00717 { 00718 // Extract the Service Configurator ORB options from the argument 00719 // vector. 00720 ACE_Arg_Shifter arg_shifter (argc, argv); 00721 00722 while (arg_shifter.is_anything_left ()) 00723 { 00724 // Can't interpret this argument. Move on to the next argument. 00725 if (arg_shifter.cur_arg_strncasecmp (ACE_TEXT ("-ORBSvcConf")) == 0) 00726 { 00727 const ACE_TCHAR *current_arg = 00728 arg_shifter.get_the_parameter (ACE_TEXT ("-ORBSvcConf")); 00729 arg_shifter.consume_arg (); 00730 00731 // Proceeds only if the configuration file exists. 00732 FILE * const conf_file = 00733 ACE_OS::fopen (current_arg, ACE_TEXT ("r")); 00734 if (0 == conf_file) 00735 { 00736 // Assigning EINVAL to errno to make an exception 00737 // thrown. calling code does not throw an exception if 00738 // the errno is set to ENOENT for some reason. 00739 errno = EINVAL; 00740 00741 ACE_ERROR_RETURN ((LM_ERROR, 00742 ACE_TEXT ("TAO (%P|%t) Unable to open file %s") 00743 ACE_TEXT (", referenced by -ORBSvcConf option\n"), 00744 current_arg), 00745 -1); 00746 } 00747 else 00748 { 00749 ACE_OS::fclose (conf_file); 00750 } 00751 00752 svc_config_argv.add (ACE_TEXT ("-f")); 00753 svc_config_argv.add (current_arg); 00754 } 00755 else 00756 { 00757 // Any arguments that don't match are ignored so that the 00758 // caller can still use them. 00759 arg_shifter.ignore_arg (); 00760 } 00761 } 00762 00763 return 0; 00764 } /* parse_svcconf_args_i */
void @5::register_additional_services_i | ( | ACE_Service_Gestalt * | pcfg | ) | [static] |
Definition at line 604 of file TAO_Internal.cpp.
References ACE_TEXT_CHAR_TO_TCHAR, client_strategy_factory_args, ACE_Shared_Object::init(), ACE_Dynamic_Service< TYPE >::instance(), ACE_Service_Gestalt::process_directive(), resource_factory_args, and server_strategy_factory_args.
Referenced by TAO::ORB::open_global_services().
00605 { 00606 // @@ What the heck do these things do and do we need to avoid 00607 // calling them if we're not invoking the svc.conf file? 00608 // @@ They are needed for platforms that have no file system, 00609 // like VxWorks. 00610 00611 if (resource_factory_args != 0) 00612 { 00613 pcfg->process_directive( 00614 ACE_TEXT_CHAR_TO_TCHAR (resource_factory_args)); 00615 } 00616 00617 if (client_strategy_factory_args != 0) 00618 { 00619 pcfg->process_directive 00620 (ACE_TEXT_CHAR_TO_TCHAR (client_strategy_factory_args)); 00621 } 00622 00623 if (server_strategy_factory_args != 0) 00624 { 00625 pcfg->process_directive 00626 (ACE_TEXT_CHAR_TO_TCHAR (server_strategy_factory_args)); 00627 } 00628 00629 ACE_Service_Object * const pi_server_loader = 00630 ACE_Dynamic_Service<ACE_Service_Object>::instance ( 00631 pcfg, 00632 "PI_Server_Loader"); 00633 00634 if (pi_server_loader != 0) 00635 { 00636 pi_server_loader->init (0, 0); 00637 } 00638 00639 ACE_Service_Object * const bidir_loader = 00640 ACE_Dynamic_Service<ACE_Service_Object>::instance ( 00641 pcfg, 00642 "BiDirGIOP_Loader"); 00643 00644 if (bidir_loader != 0) 00645 { 00646 bidir_loader->init (0, 0); 00647 } 00648 00649 ACE_Service_Object * const messaging_loader = 00650 ACE_Dynamic_Service<ACE_Service_Object>::instance ( 00651 pcfg, 00652 "Messaging_Loader"); 00653 00654 if (messaging_loader != 0) 00655 { 00656 messaging_loader->init (0, 0); 00657 } 00658 00659 // Handle RTCORBA library special case. Since RTCORBA needs 00660 // its init method call to register several hooks, call it 00661 // here if it hasn't already been called. 00662 ACE_Service_Object * const rt_loader = 00663 ACE_Dynamic_Service<ACE_Service_Object>::instance ( 00664 pcfg, 00665 "RT_ORB_Loader"); 00666 00667 if (rt_loader != 0) 00668 { 00669 rt_loader->init (0, 0); 00670 } 00671 00672 ACE_Service_Object * const rtscheduler_loader = 00673 ACE_Dynamic_Service<ACE_Service_Object>::instance ( 00674 pcfg, 00675 "RTScheduler_Loader"); 00676 00677 if (rtscheduler_loader != 0) 00678 { 00679 rtscheduler_loader->init (0, 0); 00680 } 00681 00682 ACE_Service_Object * const csd_framework_loader = 00683 ACE_Dynamic_Service<ACE_Service_Object>::instance ( 00684 pcfg, 00685 "CSD_Framework_Loader"); 00686 00687 if (csd_framework_loader != 0) 00688 { 00689 csd_framework_loader->init (0, 0); 00690 } 00691 00692 ACE_Service_Object * const endpoint_policy_loader = 00693 ACE_Dynamic_Service<ACE_Service_Object>::instance ( 00694 pcfg, 00695 "EndpointPolicy_Initializer"); 00696 00697 if (endpoint_policy_loader != 0) 00698 { 00699 endpoint_policy_loader->init (0, 0); 00700 } 00701 00702 ACE_Service_Object * const diffserv_policy_loader = 00703 ACE_Dynamic_Service<ACE_Service_Object>::instance ( 00704 pcfg, 00705 "DiffservPolicy_Initializer"); 00706 00707 if (diffserv_policy_loader != 0) 00708 { 00709 diffserv_policy_loader->init (0, 0); 00710 } 00711 } /* register_additional_services_i */
void @5::register_global_services_i | ( | ACE_Service_Gestalt * | pcfg | ) | [static] |
registers all process-wide (global) services, available to all ORBs
Initialize the ACE Service Configurator with the process-global services (available to any ORB).
0
if successful, -1
with errno
set if failure.default_svc_conf_entries()
before calling open_global_services()
. In addition, you can skip_service_config_open altogether, which used to be important when the ORB is linked in via the ACE_Service_Config, since the ACE_Service_Config was non-reentrant. However, the ACE_Service_Config is now reentrant meaning that it is really no longer necessary to do so. Definition at line 509 of file TAO_Internal.cpp.
References ACE_DYNAMIC_SERVICE_DIRECTIVE, ACE_ERROR, ACE_REMOVE_SERVICE_DIRECTIVE, ACE_TEXT, ACE_Dynamic_Service< TYPE >::instance(), TAO_Codeset_Manager_Factory_Base::is_default(), LM_ERROR, negotiate_codesets, ACE_Service_Config::process_directive(), ACE_Service_Gestalt::process_directive(), and TAO_debug_level.
Referenced by TAO::ORB::open_global_services().
00510 { 00511 // This has to be done before intializing the resource 00512 // factory. Codesets is a special library since its configuration 00513 // is optional and it may be linked statically. 00514 if (negotiate_codesets) 00515 { 00516 TAO_Codeset_Manager_Factory_Base *factory = 00517 ACE_Dynamic_Service<TAO_Codeset_Manager_Factory_Base>::instance ( 00518 "TAO_Codeset"); 00519 00520 if (factory == 0 || factory->is_default ()) 00521 { 00522 #if !defined (TAO_AS_STATIC_LIBS) && !(defined (ACE_VXWORKS) && !defined (__RTP__)) 00523 // only for dynamic libs, check to see if default factory 00524 // and if so, remove it 00525 ACE_Service_Config::process_directive ( 00526 ACE_REMOVE_SERVICE_DIRECTIVE ("TAO_Codeset")); 00527 00528 ACE_Service_Config::process_directive ( 00529 ACE_DYNAMIC_SERVICE_DIRECTIVE ( 00530 "TAO_Codeset", 00531 "TAO_Codeset", 00532 "_make_TAO_Codeset_Manager_Factory", 00533 "")); 00534 00535 factory = 00536 ACE_Dynamic_Service< 00537 TAO_Codeset_Manager_Factory_Base 00538 >::instance ("TAO_Codeset"); 00539 #endif 00540 } 00541 00542 if (factory == 0) 00543 { 00544 if (TAO_debug_level > 0) 00545 { 00546 ACE_ERROR ((LM_ERROR, 00547 ACE_TEXT ("(%P|%t) ORB_Core: ") 00548 ACE_TEXT ("Unable to initialize ") 00549 ACE_TEXT ("Codeset Manager\n"))); 00550 } 00551 } 00552 } 00553 00554 pcfg->process_directive ( 00555 ace_svc_desc_TAO_Default_Resource_Factory); 00556 pcfg->process_directive ( 00557 ace_svc_desc_TAO_Default_Client_Strategy_Factory); 00558 pcfg->process_directive ( 00559 ace_svc_desc_TAO_Default_Server_Strategy_Factory); 00560 00561 // Configure the IIOP factory. You do *NOT* need modify this 00562 // code to add your own protocol, instead simply add the 00563 // following to your svc.conf file: 00564 // 00565 // dynamic PN_Factory Service_Object * LIB:_make_PN_Protocol_Factory() "" 00566 // static Resource_Factory "-ORBProtocolFactory PN_Factory" 00567 // 00568 // where PN is the name of your protocol and LIB is the base 00569 // name of the shared library that implements the protocol. 00570 00571 #if defined (TAO_HAS_IIOP) && (TAO_HAS_IIOP != 0) 00572 pcfg->process_directive (ace_svc_desc_TAO_IIOP_Protocol_Factory); 00573 #endif /* TAO_HAS_IIOP && TAO_HAS_IIOP != 0 */ 00574 00575 // add descriptor to list of static objects. 00576 #if (TAO_HAS_MCAST_PARSER == 1) 00577 pcfg->process_directive (ace_svc_desc_TAO_MCAST_Parser); 00578 #endif /* TAO_HAS_MCAST_PARSER == 1 */ 00579 #if (TAO_HAS_CORBANAME_PARSER == 1) 00580 pcfg->process_directive (ace_svc_desc_TAO_CORBANAME_Parser); 00581 #endif /* TAO_HAS_CORBANAME_PARSER == 1 */ 00582 #if (TAO_HAS_CORBALOC_PARSER == 1) 00583 pcfg->process_directive (ace_svc_desc_TAO_CORBALOC_Parser); 00584 #endif /* TAO_HAS_CORBALOC_PARSER == 1 */ 00585 #if (TAO_HAS_FILE_PARSER == 1) 00586 pcfg->process_directive (ace_svc_desc_TAO_FILE_Parser); 00587 #endif /* TAO_HAS_FILE_PARSER == 1 */ 00588 #if (TAO_HAS_DDL_PARSER == 1) 00589 pcfg->process_directive (ace_svc_desc_TAO_DLL_Parser); 00590 #endif /* TAO_HAS_DDL_PARSER == 1 */ 00591 #if (TAO_HAS_HTTP_PARSER == 1) 00592 pcfg->process_directive (ace_svc_desc_TAO_HTTP_Parser); 00593 #endif /* TAO_HAS_HTTP_PARSER */ 00594 pcfg->process_directive (ace_svc_desc_TAO_Default_Stub_Factory); 00595 pcfg->process_directive ( 00596 ace_svc_desc_TAO_Default_Endpoint_Selector_Factory); 00597 pcfg->process_directive ( 00598 ace_svc_desc_TAO_Default_Thread_Lane_Resources_Manager_Factory); 00599 pcfg->process_directive (ace_svc_desc_TAO_Default_Collocation_Resolver); 00600 00601 } /* register_global_services_i */
char const* client_strategy_factory_args [static] |
Initial value:
Definition at line 156 of file TAO_Internal.cpp.
Referenced by TAO::ORB::default_svc_conf_entries(), and TAO_END_VERSIONED_NAMESPACE_DECL::register_additional_services_i().
bool is_ubergestalt_ready = false [static] |
Part of a condition variable, which helps to ensure non-default ORBs can not proceed with their initialization, until the globaly required services have been instantiated by the default ORB. Usually, the first ORB to be created is designated the default ORB (reference the CORBA spec)
Definition at line 150 of file TAO_Internal.cpp.
Referenced by TAO::ORB::open_global_services(), and TAO::ORB::open_services().
bool negotiate_codesets = true [static] |
Definition at line 160 of file TAO_Internal.cpp.
Referenced by TAO_ORB_Core::init(), TAO_END_VERSIONED_NAMESPACE_DECL::parse_private_args_i(), and TAO_END_VERSIONED_NAMESPACE_DECL::register_global_services_i().
char const* resource_factory_args [static] |
Initial value:
Definition at line 152 of file TAO_Internal.cpp.
Referenced by TAO::ORB::default_svc_conf_entries(), and TAO_END_VERSIONED_NAMESPACE_DECL::register_additional_services_i().
char const* server_strategy_factory_args [static] |
Initial value:
Definition at line 154 of file TAO_Internal.cpp.
Referenced by TAO::ORB::default_svc_conf_entries(), and TAO_END_VERSIONED_NAMESPACE_DECL::register_additional_services_i().
long service_open_count = 0 [static] |
Number of times open_services() has been called. Incremented by open_global_services_i(), and decremented by close_services().
Definition at line 141 of file TAO_Internal.cpp.
Referenced by TAO::ORB::close_services(), and TAO::ORB::open_services().