TAO_Internal.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    TAO_Internal.h
00006  *
00007  *  $Id: TAO_Internal.h 81360 2008-04-14 20:15:12Z iliyan $
00008  *
00009  *  Structures and methods completely internal to TAO.
00010  *
00011  *  @author Chris Cleeland
00012  */
00013 //=============================================================================
00014 
00015 #ifndef TAO_INTERNAL_H
00016 #define TAO_INTERNAL_H
00017 
00018 #include /**/ "ace/pre.h"
00019 
00020 #include "tao/orbconf.h"
00021 #include /**/ "tao/Versioned_Namespace.h"
00022 
00023 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00024 # pragma once
00025 #endif /* ACE_LACKS_PRAGMA_ONCE */
00026 
00027 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00028 /// Forward declaration
00029 class ACE_Service_Gestalt;
00030 template <class X> class ACE_Intrusive_Auto_Ptr;
00031 ACE_END_VERSIONED_NAMESPACE_DECL
00032 
00033 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00034 
00035 namespace TAO
00036 {
00037   /**
00038    * @namespace ORB
00039    *
00040    * @brief This @c namespace encapsulates some private behaviors and
00041    *        global data structures used internal to TAO.  No
00042    *        application should EVER see them which is why they are not
00043    *        exported.
00044    */
00045   namespace ORB
00046   {
00047 
00048     /**
00049      * If never done it before, extract ACE Service Configurator arguments from the given
00050      * argument vector, and initialize the _global_ configuration gestalt. Return value 0 means OK,
00051      * -1 spells major trouble ...
00052      */
00053     int open_global_services (int argc, ACE_TCHAR** argv);
00054 
00055     /**
00056      * Extract ACE Service Configurator arguments from the given
00057      * argument vector, and initialize the ACE Service Configurator.
00058      *
00059      * @note This method should be called before the ORB Core is
00060      *       initialized, and before any ORBInitializers are invoked.
00061      */
00062     int open_services (ACE_Intrusive_Auto_Ptr<ACE_Service_Gestalt> cfg, int& argc, ACE_TCHAR** argv);
00063 
00064     /**
00065      * The complement to @c open_services(), this will perform
00066      * appropriate ACE Service Configurator closure operations.  It
00067      * should be called as many times as @c open_services(), and will
00068      * only actually close things down on the last call.  It is fully
00069      * thread-safe.
00070      *
00071      * @return @c 0 if successful, @c -1 with @c errno set if
00072      *         failure.
00073      */
00074     int close_services (ACE_Intrusive_Auto_Ptr<ACE_Service_Gestalt> pcfg);
00075 
00076     /**
00077      * Set default @c `svc.conf' content.
00078      * This function must be called before first ORB initialization.
00079      */
00080     void default_svc_conf_entries (char const * rf_args,
00081                                    char const * ssf_args,
00082                                    char const * csf_args);
00083 
00084   }
00085 }
00086 TAO_END_VERSIONED_NAMESPACE_DECL
00087 
00088 #include /**/ "ace/post.h"
00089 
00090 #endif  /* TAO_INTERNAL_H */

Generated on Tue Feb 2 17:37:53 2010 for TAO by  doxygen 1.4.7