00001 // -*- C++ -*- 00002 // 00003 // $Id: Activator_Loader.h 77020 2007-02-12 13:56:49Z johnnyw $ 00004 00005 #ifndef TAO_IMR_ACTIVATOR_LOADER_H 00006 #define TAO_IMR_ACTIVATOR_LOADER_H 00007 00008 #include "ImR_Activator_i.h" 00009 #include "Activator_Options.h" 00010 00011 #include "tao/Object_Loader.h" 00012 00013 #include "ace/Auto_Ptr.h" 00014 00015 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00016 # pragma once 00017 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00018 00019 class ImR_Activator_ORB_Runner; 00020 00021 class Activator_Export ImR_Activator_Loader : public TAO_Object_Loader 00022 { 00023 public: 00024 ImR_Activator_Loader(void); 00025 00026 virtual int init (int argc, ACE_TCHAR *argv[]); 00027 00028 virtual int fini (void); 00029 00030 virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb, 00031 int argc, 00032 ACE_TCHAR *argv[]); 00033 00034 // Unlike other service objects, we have our own orb. 00035 int run(void); 00036 00037 private: 00038 ImR_Activator_i service_; 00039 Activator_Options opts_; 00040 ACE_Auto_Ptr<ImR_Activator_ORB_Runner> runner_; 00041 00042 private: 00043 // Disallow copying and assignment. 00044 ImR_Activator_Loader (const ImR_Activator_Loader &); 00045 ImR_Activator_Loader &operator = (const ImR_Activator_Loader &); 00046 }; 00047 00048 ACE_FACTORY_DECLARE (Activator, ImR_Activator_Loader) 00049 00050 #endif