00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file PortableGroup_Loader.h 00006 * 00007 * PortableGroup_Loader.h,v 1.12 2006/03/14 06:14:34 jtc Exp 00008 * 00009 * Loads and initializes the PortableGroup extensions to TAO. 00010 * 00011 * @author Frank Hunleth <fhunleth@cs.wustl.edu> 00012 */ 00013 //============================================================================= 00014 00015 #ifndef TAO_PORTABLEGROUP_LOADER_H 00016 #define TAO_PORTABLEGROUP_LOADER_H 00017 00018 #include /**/ "ace/pre.h" 00019 00020 #include "orbsvcs/PortableGroup/portablegroup_export.h" 00021 00022 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00023 # pragma once 00024 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00025 00026 #include "tao/Versioned_Namespace.h" 00027 00028 #include "ace/Service_Config.h" 00029 #include "ace/Service_Object.h" 00030 00031 00032 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00033 00034 /** 00035 * @class TAO_PortableGroup_Adapter 00036 * 00037 * @brief TAO_PortableGroup_Adapter. 00038 * 00039 * This class acts as a facade for the PortableGroup library to the 00040 * ORB. 00041 */ 00042 class TAO_PortableGroup_Export TAO_PortableGroup_Loader 00043 : public ACE_Service_Object 00044 { 00045 public: 00046 /// Constructor. 00047 TAO_PortableGroup_Loader (void); 00048 00049 /// Initialize the PortableGroup loader hooks. 00050 virtual int init (int argc, 00051 char *[]); 00052 00053 /// Used to force the initialization of the ORB code. 00054 static int Initializer (void); 00055 }; 00056 00057 static int 00058 TAO_Requires_PortableGroup_Initializer = 00059 TAO_PortableGroup_Loader::Initializer (); 00060 00061 TAO_END_VERSIONED_NAMESPACE_DECL 00062 00063 ACE_STATIC_SVC_DECLARE (TAO_PortableGroup_Loader) 00064 ACE_FACTORY_DECLARE (TAO_PortableGroup, TAO_PortableGroup_Loader) 00065 00066 #include /**/ "ace/post.h" 00067 00068 #endif /* TAO_PORTABLEGROUP_LOADER_H */