summaryrefslogtreecommitdiff
path: root/trunk/TAO/tests/NestedUpcall/MT_Client_Test/client.h
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/TAO/tests/NestedUpcall/MT_Client_Test/client.h')
-rw-r--r--trunk/TAO/tests/NestedUpcall/MT_Client_Test/client.h110
1 files changed, 110 insertions, 0 deletions
diff --git a/trunk/TAO/tests/NestedUpcall/MT_Client_Test/client.h b/trunk/TAO/tests/NestedUpcall/MT_Client_Test/client.h
new file mode 100644
index 00000000000..0422ed8d7aa
--- /dev/null
+++ b/trunk/TAO/tests/NestedUpcall/MT_Client_Test/client.h
@@ -0,0 +1,110 @@
+// -*- c++ -*-
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/tests/NestedUpCalls/MT_Client_Test
+//
+// = FILENAME
+// client.h
+//
+// = DESCRIPTION
+// Test for multithreaded client using one global ORB (and Reactor)
+//
+// = AUTHORS
+// Michael Kircher
+//
+// ============================================================================
+
+#ifndef MT_CLIENT_H
+#define MT_CLIENT_H
+
+#include "ace/Get_Opt.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/Task.h"
+#include "ace/Thread_Manager.h"
+#include "tao/ORB.h"
+#include "MT_Client_TestC.h"
+
+class MT_Client
+{
+ // = TITLE
+ // A simple client talking to one server
+ //
+ // = DESCRIPTION
+ // It is connecting to a server which holds the Object_A
+ // or using the "-m" switch to a server holding the MT_Object
+
+public:
+ MT_Client (void);
+ ~MT_Client (void);
+ // = Constructor and destructor.
+
+ int run (void);
+ // Execute client example code.
+
+ int init (int argc,
+ char **argv,
+ int client_number);
+ // Initialize the client communication endpoint with server.
+
+private:
+ int read_ior (char *filename);
+ // reading the IOR of object A in
+
+ int parse_args (void);
+ // Parses the arguments passed on the command line.
+
+ int argc_;
+ // # of arguments on the command line.
+
+ char **argv_;
+ // arguments from command line.
+
+ char *object_key_;
+ // Key of the object
+
+ int shutdown_;
+ // Flag to tell server to shutdown.
+
+ CORBA::ORB_var orb_var_;
+ // Remember our orb.
+
+ MT_Object_var mT_Object_var_;
+ // pointer to the mt Object
+
+ int client_number_;
+ // This is used to choose the server...
+
+ unsigned long iterations_;
+ // number of loops
+
+};
+
+class MT_Client_Task : public ACE_Task<ACE_SYNCH>
+{
+ // = TITLE
+ // Wrapper for the MT_Client to be an extra thread
+ //
+ // = DESCRIPTION
+ // No big purpose, just wrapping
+public:
+ MT_Client_Task (int argc, char **argv, int client_number);
+
+ virtual int svc (void);
+
+private:
+ MT_Client mT_Client_;
+ int argc_;
+ char **argv_;
+
+ int client_number_;
+ // To determine if we use the first or the second server.
+};
+
+#endif /* MT_CLIENT_H */