summaryrefslogtreecommitdiff
path: root/TAO/tests/Client_Leaks/Client_Task.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tests/Client_Leaks/Client_Task.h')
-rw-r--r--TAO/tests/Client_Leaks/Client_Task.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/TAO/tests/Client_Leaks/Client_Task.h b/TAO/tests/Client_Leaks/Client_Task.h
new file mode 100644
index 00000000000..f45000f6018
--- /dev/null
+++ b/TAO/tests/Client_Leaks/Client_Task.h
@@ -0,0 +1,40 @@
+//
+// $Id$
+//
+
+#ifndef CLIENT_LEAKS_CLIENT_TASK_H
+#define CLIENT_LEAKS_CLIENT_TASK_H
+#include "ace/pre.h"
+
+#include "TestC.h"
+#include "ace/Task.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+/// Implement a Task to run the experiments using multiple threads.
+class Client_Task : public ACE_Task_Base
+{
+public:
+ /// Constructor
+ Client_Task (Test::Process_Factory_ptr process_Factory,
+ int iterations);
+
+ /// Thread entry point
+ int svc (void);
+
+private:
+ /// Run one iteration of the test
+ void one_iteration (CORBA::Environment &ACE_TRY_ENV);
+
+private:
+ /// Reference to the test interface
+ Test::Process_Factory_var process_factory_;
+
+ /// Total number of processes created by each thread
+ int iterations_;
+};
+
+#include "ace/post.h"
+#endif /* CLIENT_LEAKS_CLIENT_TASK_H */