summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h
diff options
context:
space:
mode:
authorjai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-04-27 01:17:04 +0000
committerjai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-04-27 01:17:04 +0000
commitea10a271cff7433b8de1f270ad77905dcfbb3c90 (patch)
treea16fc7dc3d045cd8197856049c2f7e2310aa7430 /TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h
parent0a80489937c0a9858d53ed774fff025b26032438 (diff)
downloadATCD-ea10a271cff7433b8de1f270ad77905dcfbb3c90.tar.gz
Fri Apr 26 18:07:17 2002 Jaiganesh Balasubramanian <jai@doc.ece.uci.edu>
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h105
1 files changed, 105 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h
new file mode 100644
index 00000000000..f053ae8fe84
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h
@@ -0,0 +1,105 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/orbsvcs/IFRService
+//
+// = FILENAME
+// IFR_Service_Utils.h
+//
+// = DESCRIPTION
+// Implement wrappers useful to IFR Service clients and servers.
+//
+// = AUTHORS
+// Jeff Parsons <parsons@cs.wustl.edu>
+// Jaiganesh Balasubramanian <jai@doc.ece.uci.edu>
+// Priyanka Gontla <pgontla@doc.ece.uci.edu>
+//
+// ============================================================================
+
+#ifndef TAO_IFR_SERVICE_UTILS_H
+#define TAO_IFR_SERVICE_UTILS_H
+#include "ace/pre.h"
+
+#include "tao/corba.h"
+#include "tao/PortableServer/PortableServerC.h"
+#include "tao/ORB.h"
+#include "ifr_service_export.h"
+
+// Forward decl;
+class IFR_ServantLocator;
+class TAO_IOR_Multicast;
+class ACE_Configuration;
+class TAO_Repository_i;
+
+class TAO_IFRService_Export TAO_IFR_Server
+{
+public:
+ TAO_IFR_Server (void);
+ // Default constructor.
+
+ int init_with_orb (int argc,
+ ACE_TCHAR *argv [],
+ CORBA::ORB_ptr orb);
+ // Initialize the IFR Service with the command line arguments and
+ // the ORB.
+
+ int fini (void);
+ // Destroy the child POA created in <init_with_orb>
+
+ ~TAO_IFR_Server (void);
+ // Destructor.
+
+protected:
+
+ int create_poas (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+ // Two persistent POAs, one using a servant locator.
+
+ int create_locator (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+ // Create a servant locator and register it with its POA.
+
+ int open_config (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+ // Open an ACE_Configuration of the appropriate type.
+
+ int create_repository (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+ // Create and initialize the repository.
+
+ int init_multicast_server (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+ // Enable the Interface Repository to answer multicast requests
+ // for its IOR.
+
+ CORBA::ORB_var orb_;
+ // Reference to our ORB.
+
+ PortableServer::POA_var root_poa_;
+ // Root POA reference.
+
+ PortableServer::POA_var repo_poa_;
+ // The Repository's POA reference.
+
+ PortableServer::POA_var ir_object_poa_;
+ // POA reference for all other IFR objects.
+
+ IFR_ServantLocator *servant_locator_impl_;
+ // Our servant locator implementation instance.
+
+ TAO_IOR_Multicast *ior_multicast_;
+ // Event handler that responds to multicast requests.
+
+ ACE_Configuration *config_;
+ // Database for the IFR.
+
+ TAO_Repository_i *repo_impl_;
+ // The IFR implementation instance.
+
+ CORBA_Repository_ptr repository_;
+ // The Interface Repository object reference.
+
+ CORBA::String_var ifr_ior_;
+ // Interface Repository's IOR.
+};
+
+#include "ace/post.h"
+#endif /* TAO_IFR_SERVICE_UTILS_H */