00001 // -*- C++ -*- 00002 00003 // =================================================================== 00004 /** 00005 * @file Monitor.h 00006 * 00007 * $Id: Monitor.h 84281 2009-01-30 15:01:17Z wotte $ 00008 * 00009 * @author Johnny Willemsen <jwillemsen@remedy.nl> 00010 */ 00011 // =================================================================== 00012 00013 #ifndef TAO_MONITOR_H 00014 #define TAO_MONITOR_H 00015 00016 #include /**/ "ace/pre.h" 00017 00018 #include "ace/Service_Config.h" 00019 00020 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00021 # pragma once 00022 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00023 00024 #include "tao/Monitor/Monitor_export.h" 00025 #include "tao/Versioned_Namespace.h" 00026 #include "tao/Object_Loader.h" 00027 00028 #if defined (TAO_HAS_MONITOR_FRAMEWORK) && (TAO_HAS_MONITOR_FRAMEWORK == 1) 00029 00030 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00031 00032 /** 00033 * @class TAO_Monitor_Init 00034 * 00035 */ 00036 class TAO_Monitor_Export TAO_Monitor_Init : public TAO_Object_Loader 00037 { 00038 public: 00039 TAO_Monitor_Init (void); 00040 00041 virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb, 00042 int argc, 00043 ACE_TCHAR *argv []); 00044 00045 /// Used to force the initialization of the ORB code. 00046 static int Initializer (void); 00047 }; 00048 00049 //#if defined (TAO_AS_STATIC_LIBS) 00050 // only do this for static builds, it causes a circular 00051 // dependency for dynamic builds. 00052 static int 00053 TAO_Requires_Monitor_Initializer = TAO_Monitor_Init::Initializer (); 00054 //#endif /* TAO_AS_STATIC_LIBS */ 00055 00056 00057 ACE_STATIC_SVC_DECLARE (TAO_Monitor_Init) 00058 ACE_FACTORY_DECLARE (TAO_Monitor, TAO_Monitor_Init) 00059 TAO_END_VERSIONED_NAMESPACE_DECL 00060 00061 #endif /* TAO_HAS_MONITOR_FRAMEWORK==1 */ 00062 00063 #include /**/ "ace/post.h" 00064 00065 #define TAO_MONITOR_SAFE_INCLUDE 00066 #include "tao/Monitor/MonitorC.h" 00067 #undef TAO_MONITOR_SAFE_INCLUDE 00068 00069 #endif /* TAO_MONITOR_H */