summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/Concurrency/CC_naming_service.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/tests/Concurrency/CC_naming_service.h')
-rw-r--r--TAO/orbsvcs/tests/Concurrency/CC_naming_service.h86
1 files changed, 86 insertions, 0 deletions
diff --git a/TAO/orbsvcs/tests/Concurrency/CC_naming_service.h b/TAO/orbsvcs/tests/Concurrency/CC_naming_service.h
new file mode 100644
index 00000000000..597a9696840
--- /dev/null
+++ b/TAO/orbsvcs/tests/Concurrency/CC_naming_service.h
@@ -0,0 +1,86 @@
+// -*- c++ -*-
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/tests/Concurrency
+//
+// = FILENAME
+// CC_naming_service.h
+//
+// = DESCRIPTION
+// This class implements the naming services necessary to test the
+// concurrency service.
+//
+// = AUTHORS
+// Torben Worm <tworm@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "orbsvcs/CosConcurrencyControlC.h"
+#include "orbsvcs/CosNamingC.h"
+#include "orbsvcs/Naming/Naming_Client.h"
+
+#ifndef _CC_NAMING_SERVICE_H_
+#define _CC_NAMING_SERVICE_H_
+
+class CC_naming_service
+{
+ // = TITLE
+ // Defines a class that encapsulates the necessary naming service
+ // functions for the concurrency service.
+ //
+ // = DESCRIPTION
+ // This class declares an interface to the naming service for the
+ // concurrency service tests.
+public:
+ CC_naming_service ();
+ // Default constructor
+
+ CC_naming_service (CORBA::ORB_var orb_ ACE_ENV_ARG_DECL);
+ // Constructor
+
+ ~CC_naming_service (void);
+ // Default destructor.
+
+ void Init (CORBA::ORB_var orb_ ACE_ENV_ARG_DECL);
+ // Initialization method must be called after first call of Instance()
+ // in order to initialize the object correctly
+
+ CORBA::Object_var get_obj_from_name (const char *c_name,
+ const char *name
+ ACE_ENV_ARG_DECL);
+ // Lookup a name in the naming service (context, name)
+
+ void bind_name (const char *n,
+ CORBA::Object_ptr obj
+ ACE_ENV_ARG_DECL);
+ // Bind a name in the concurrency context.
+
+ CosConcurrencyControl::LockSetFactory_var get_lock_set_factory (void);
+ // Gets the cc lock set factory which is common for all tests.
+
+ static CC_naming_service *Instance(void);
+ // The naming service object is a singleton
+
+private:
+ int init_naming_service (void);
+ // Function to initialize the naming service.
+
+ char *cc_factory_key_;
+ // Key of factory obj ref.
+
+ CORBA::ORB_var orb_;
+ // Remember our orb.
+
+ TAO_Naming_Client my_name_client_;
+ // Name service wrapper class
+
+ CosConcurrencyControl::LockSetFactory_var factory_;
+ // factory pointer for the lock set.
+
+ static CC_naming_service *instance_;
+ // The instance of the naming service object
+};
+#endif /* !defined (_CC_NAMING_SERVICE_H_) */