summaryrefslogtreecommitdiff
path: root/TAO/tests/Param_Test/options.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tests/Param_Test/options.h')
-rw-r--r--TAO/tests/Param_Test/options.h135
1 files changed, 135 insertions, 0 deletions
diff --git a/TAO/tests/Param_Test/options.h b/TAO/tests/Param_Test/options.h
new file mode 100644
index 00000000000..5291afb7a7c
--- /dev/null
+++ b/TAO/tests/Param_Test/options.h
@@ -0,0 +1,135 @@
+// -*- c++ -*-
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/tests/Param_Test
+//
+// = FILENAME
+// options.h
+//
+// = DESCRIPTION
+// Options for the Param_Test application
+//
+// = AUTHORS
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef OPTIONS_H
+#define OPTIONS_H
+
+#include "ace/Singleton.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/Basic_Types.h"
+#include "tao/CORBA_String.h"
+#include "tao/orbconf.h"
+
+class Options
+{
+public:
+ enum TEST_TYPE
+ {
+ NO_TEST,
+ TEST_SHORT,
+ TEST_ULONGLONG,
+ TEST_UB_STRING,
+ TEST_UB_WSTRING,
+ TEST_BD_STRING,
+ TEST_BD_WSTRING,
+ TEST_FIXED_STRUCT,
+ TEST_UB_STRING_SEQUENCE,
+ TEST_BD_STRING_SEQUENCE,
+ TEST_UB_WSTRING_SEQUENCE,
+ TEST_BD_WSTRING_SEQUENCE,
+ TEST_VAR_STRUCT,
+ TEST_NESTED_STRUCT,
+ TEST_RECURSIVE_STRUCT,
+ TEST_OBJREF_STRUCT,
+ TEST_UB_STRUCT_SEQUENCE,
+ TEST_BD_STRUCT_SEQUENCE,
+ TEST_UB_ARRAY_SEQUENCE,
+ TEST_BD_ARRAY_SEQUENCE,
+ TEST_OBJREF,
+ TEST_TYPECODE,
+ TEST_ANY,
+ TEST_OBJREF_SEQUENCE,
+ TEST_ANYSEQ,
+ TEST_UB_SHORTSEQ,
+ TEST_BD_SHORTSEQ,
+ TEST_UB_LONGSEQ,
+ TEST_BD_LONGSEQ,
+ TEST_FIXED_ARRAY,
+ TEST_VAR_ARRAY,
+ TEST_MULTDIM_ARRAY,
+ TEST_EXCEPTION,
+ TEST_BIG_UNION,
+ TEST_SMALL_UNION,
+ TEST_RECURSIVE_UNION,
+ TEST_COMPLEX_ANY
+ };
+
+ enum INVOKE_TYPE
+ {
+ SII,
+ DII
+ };
+
+ Options (void);
+ // constructor
+
+ ~Options (void);
+ // destructor
+
+ int parse_args (int argc, char **argv);
+ // Parses the arguments passed on the command line.
+
+ char const * param_test_ior (void) const;
+ // return the IOR for the servant
+
+ TEST_TYPE test_type (void);
+ // what test to run
+
+ INVOKE_TYPE invoke_type (void);
+ // whether to use SII or DII
+
+ CORBA::ULong loop_count (void);
+ // number of times to run the test
+
+ CORBA::Boolean debug (void) const;
+ // whether debug option is on or not
+
+ CORBA::Boolean shutdown (void) const;
+ // If we should request the server to shutdown.
+
+private:
+ int read_ior (char *filename);
+ // Function to read the servant IOR from a file.
+
+ CORBA::String_var ior_;
+ // IOR for the servant
+
+ TEST_TYPE test_type_;
+ // what test to run
+
+ INVOKE_TYPE invoke_type_;
+ // whether SII or DII
+
+ CORBA::ULong loop_count_;
+ // Number of times to do the "test_*" operations.
+
+ CORBA::Boolean debug_;
+ // debugging output values
+
+ CORBA::Boolean shutdown_;
+ // server shutdown flag.
+};
+
+typedef ACE_Singleton<Options, TAO_SYNCH_RECURSIVE_MUTEX> OPTIONS;
+
+#endif /* OPTIONS_H */