summaryrefslogtreecommitdiff
path: root/ACE/TAO/orbsvcs/tests/Concurrency/CC_client.h
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/TAO/orbsvcs/tests/Concurrency/CC_client.h')
-rw-r--r--ACE/TAO/orbsvcs/tests/Concurrency/CC_client.h142
1 files changed, 142 insertions, 0 deletions
diff --git a/ACE/TAO/orbsvcs/tests/Concurrency/CC_client.h b/ACE/TAO/orbsvcs/tests/Concurrency/CC_client.h
new file mode 100644
index 00000000000..870459d47e6
--- /dev/null
+++ b/ACE/TAO/orbsvcs/tests/Concurrency/CC_client.h
@@ -0,0 +1,142 @@
+// -*- c++ -*-
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/tests/Concurrency
+//
+// = FILENAME
+// CC_client.h
+//
+// = DESCRIPTION
+// This class implements a client used to test the CosConcurrency
+// service.
+//
+// = AUTHORS
+// Torben Worm <tworm@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "ace/Get_Opt.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "orbsvcs/CosConcurrencyControlC.h"
+#include "orbsvcs/CosNamingC.h"
+#include "CC_tests.h"
+#include "CC_naming_service.h"
+#include "CC_command.h"
+#include "CC_command.tab.h"
+
+#ifndef _CC_CLIENT_H_
+#define _CC_CLIENT_H_
+
+// Stuff to be used by the command file parser
+int ace_cc_yyparse(void);
+int line_no = 1;
+char line_buf[500];
+CC_CommandList *cmdlist;
+extern FILE *ace_cc_yyin;
+// end of parser stuff
+
+
+class CC_Client
+{
+ // = TITLE
+ // Defines a class that encapsulates the behaviour of a clien of
+ // the concurrency service.
+ //
+ // = DESCRIPTION
+ // This class declares an interface to run the test client for
+ // the concurrency service.
+public:
+ // = Initialization and termination methods.
+ CC_Client (void);
+ // Default constructor.
+
+ ~CC_Client (void);
+ // Destructor.
+
+ int run (void);
+ // Run the test.
+
+ int init (int argc, ACE_TCHAR **argv);
+ // Initialize the test with the parameters from the command line.
+
+private:
+ int init_naming_service (void);
+ // Function to initialize the naming service.
+
+ int parse_args (void);
+ // Function to parse the command line arguments.
+
+ int read_ior (ACE_TCHAR *filename);
+ // Function to read the ior from the given file.
+
+ int run_basic_tests (void);
+ // Runs the basic tests (on a single lock set). Returns CC_SUCCESS
+ // upon success CC_FAIL otherwise.
+
+ int run_extended_tests (ACE_TCHAR *params);
+ // Runs the extended tests (on more lock sets). Returns CC_SUCCESS
+ // upon success CC_FAIL otherwise.
+
+ int check_extended_test_params(ACE_TCHAR *params);
+ // Checks the parameters given to the run_extended_tests() function.
+ // returns -1 if an error is found.
+
+ CC_naming_service *naming_service_;
+ // A pointer to the naming service used for this test.
+
+ FILE *cc_factory_ior_file_;
+ // File from which to obtain the IOR.
+
+ char *cc_factory_key_;
+ // The factory key for the lock set factory.
+
+ ACE_HANDLE f_handle_;
+ // File handle to read the IOR.
+
+ int shutdown_;
+ // Flag to tell server to shutdown.
+
+ CORBA::ORB_var orb_;
+ // Remember our orb.
+
+ // CosConcurrencyControl::LockSetFactory_var factory_;
+ // factory pointer for the lock set. @@TAO maybe to be used when naming
+ // service is not used (for simple testing)
+
+ int argc_;
+ // The number of arguments passed on the command line.
+
+ ACE_TCHAR **argv_;
+ // The arguments from the command line.
+
+ int use_naming_service_;
+ // Flag to tell the client whether to use the naming service or not
+ // to find the concurrency control factory.
+
+ int run_basic_tests_;
+ // flag to tell which test should be run.
+
+ int run_extended_tests_;
+ // flag to tell which test should be run.
+
+ ACE_TCHAR *extended_tests_params_;
+ // Parameters to the extended tests. The parameters are of the
+ // following format: <test>:<parm1>:<parm2>...
+
+ int use_script_file_;
+ // Flag to tell whethter to use a script file to run the tests.
+
+ ACE_TCHAR *script_file_;
+ // The script file to run
+
+ void print_usage (void);
+ // Prints out the options to the program.
+};
+#endif /* !defined (_CC_CLIENT_H_) */