summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Loader.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Loader.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Loader.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Loader.h b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Loader.h
new file mode 100644
index 00000000000..571bb11b518
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Loader.h
@@ -0,0 +1,74 @@
+// -*- C++ -*-
+
+// $Id$
+
+// ===========================================================================
+// FILENAME
+// IFR_Service_Loader.h
+//
+// DESCRIPTION
+// This class loads the IFR Service dynamically
+// either from svc.conf file or <string_to_object> call.
+//
+// AUTHORS
+// Jaiganesh Balasubramanian <jai@doc.ece.uci.edu>
+// Priyanka Gontla <pgontla@ece.uci.edu>
+//
+// ===========================================================================
+
+#ifndef TAO_IFR_SERVICE_LOADER_H
+#define TAO_IFR_SERVICE_LOADER_H
+
+#include "tao/Object_Loader.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "orbsvcs/IFRService/IFR_Service_Utils.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+class TAO_IFRService_Export TAO_IFR_Service_Loader : public TAO_Object_Loader
+{
+public:
+
+ // Constructor
+ TAO_IFR_Service_Loader (void);
+
+ // Destructor
+ ~TAO_IFR_Service_Loader (void);
+
+ // Called by the Service Configurator framework to initialize the
+ // Event Service. Defined in <ace/Service_Config.h>
+ virtual int init (int argc, ACE_TCHAR *argv[]);
+
+ // Called by the Service Configurator framework to remove the
+ // Event Service. Defined in <ace/Service_Config.h>
+ virtual int fini (void);
+
+ // This function call initializes the IFR Service given a reference to the
+ // ORB and the command line parameters.
+ virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb,
+ int argc,
+ ACE_TCHAR *argv[]);
+
+
+protected:
+ TAO_IFR_Server ifr_server_;
+ // Instance of the TAO_IFR_Server
+
+private:
+
+ // Disallowing copying/assignment.
+ TAO_IFR_Service_Loader (const TAO_IFR_Service_Loader &);
+ TAO_IFR_Service_Loader & operator= (const TAO_IFR_Service_Loader &);
+
+};
+
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+ACE_FACTORY_DECLARE (TAO_IFRService, TAO_IFR_Service_Loader)
+
+#endif /* TAO_IFR_SERVICE_LOADER_H */