00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file TypeCodeFactory_Loader.h 00006 * 00007 * $Id: TypeCodeFactory_Loader.h 76995 2007-02-11 12:51:42Z johnnyw $ 00008 * 00009 * @author Jeff Parsons <parsons@cs.wustl.edu> 00010 */ 00011 //============================================================================= 00012 00013 #ifndef TAO_TYPECODEFACTORY_LOADER_H 00014 #define TAO_TYPECODEFACTORY_LOADER_H 00015 #include /**/ "ace/pre.h" 00016 00017 #include "tao/TypeCodeFactory/typecodefactory_export.h" 00018 #include "tao/Object_Loader.h" 00019 00020 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00021 # pragma once 00022 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00023 00024 #include "ace/Service_Config.h" 00025 00026 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00027 00028 /** 00029 * @class TAO_TypeCodeFactory_Loader 00030 * 00031 * @brief Create an instance of TypeCodeFactory and return it to the caller. 00032 */ 00033 class TAO_TypeCodeFactory_Export TAO_TypeCodeFactory_Loader 00034 : public TAO_Object_Loader 00035 { 00036 public: 00037 /// Constructor. 00038 TAO_TypeCodeFactory_Loader (void); 00039 00040 /// Overload the base class method to create a new instance 00041 /// of a TypeCodeFactory object. 00042 virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb, 00043 int argc, 00044 ACE_TCHAR *argv []); 00045 00046 /// Used to force the initialization of the ORB code. 00047 static int Initializer (void); 00048 }; 00049 00050 static int 00051 TAO_Requires_TCF_Initializer = TAO_TypeCodeFactory_Loader::Initializer (); 00052 00053 TAO_END_VERSIONED_NAMESPACE_DECL 00054 00055 ACE_STATIC_SVC_DECLARE (TAO_TypeCodeFactory_Loader) 00056 ACE_FACTORY_DECLARE (TAO_TypeCodeFactory, TAO_TypeCodeFactory_Loader) 00057 00058 #define TAO_TYPECODEFACTORY_SAFE_INCLUDE 00059 #include "tao/TypeCodeFactory/TypeCodeFactoryC.h" 00060 #undef TAO_TYPECODEFACTORY_SAFE_INCLUDE 00061 00062 #include /**/ "ace/post.h" 00063 #endif /* TAO_TYPECODEFACTORY_LOADER_H */