00001 // -*- C++ -*- 00002 00003 // Naming_Loader.h,v 1.15 2005/11/14 22:03:48 ossama Exp 00004 00005 // ============================================================================ 00006 // FILENAME 00007 // Naming_Loader.h 00008 // 00009 // DESCRIPTION 00010 // This class loads the Naming Service dynamically 00011 // either from svc.conf file or <string_to_object> call. 00012 // 00013 // AUTHORS 00014 // Priyanka Gontla <pgontla@ece.uci.edu> 00015 // 00016 // ============================================================================ 00017 00018 #ifndef TAO_NAMING_LOADER_H 00019 #define TAO_NAMING_LOADER_H 00020 00021 #include "tao/Object_Loader.h" 00022 00023 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00024 # pragma once 00025 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00026 00027 #include "orbsvcs/Naming/Naming_Server.h" 00028 00029 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00030 00031 class TAO_Naming_Serv_Export TAO_Naming_Loader : public TAO_Object_Loader 00032 { 00033 public: 00034 00035 /// Constructor 00036 TAO_Naming_Loader (void); 00037 00038 /// Destructor 00039 ~TAO_Naming_Loader (void); 00040 00041 /// Called by the Service Configurator framework to initialize the 00042 /// Event Service. Defined in <ace/Service_Config.h> 00043 virtual int init (int argc, ACE_TCHAR *argv[]); 00044 00045 /// Called by the Service Configurator framework to remove the 00046 /// Event Service. Defined in <ace/Service_Config.h> 00047 virtual int fini (void); 00048 00049 /// This function call initializes the Naming Service given a reference to the 00050 /// ORB and the command line parameters. 00051 virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb, 00052 int argc, 00053 ACE_TCHAR *argv[] 00054 ACE_ENV_ARG_DECL) 00055 ACE_THROW_SPEC ((CORBA::SystemException)); 00056 00057 00058 protected: 00059 /// Instance of the TAO_Naming_Server 00060 TAO_Naming_Server naming_server_; 00061 00062 private: 00063 TAO_Naming_Loader (const TAO_Naming_Loader &); 00064 TAO_Naming_Loader &operator = (const TAO_Naming_Loader &); 00065 }; 00066 00067 TAO_END_VERSIONED_NAMESPACE_DECL 00068 00069 ACE_FACTORY_DECLARE (TAO_Naming_Serv, TAO_Naming_Loader) 00070 00071 #endif /* TAO_NAMING_LOADER_H */