summaryrefslogtreecommitdiff
path: root/TAO/examples/CSD_Strategy/ThreadPool5/OrbShutdownTask.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/examples/CSD_Strategy/ThreadPool5/OrbShutdownTask.h')
-rw-r--r--TAO/examples/CSD_Strategy/ThreadPool5/OrbShutdownTask.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/TAO/examples/CSD_Strategy/ThreadPool5/OrbShutdownTask.h b/TAO/examples/CSD_Strategy/ThreadPool5/OrbShutdownTask.h
new file mode 100644
index 00000000000..3795d12c3c9
--- /dev/null
+++ b/TAO/examples/CSD_Strategy/ThreadPool5/OrbShutdownTask.h
@@ -0,0 +1,41 @@
+// This may look like C, but it's really -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file OrbShutdownTask.h
+ *
+ * $Id$
+ *
+ * @author Tim Bradley <bradley_t@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef ORB_SHUTDOWN_TASK_H
+#define ORB_SHUTDOWN_TASK_H
+
+#include "ace/Task.h"
+#include "tao/ORB.h"
+
+
+class OrbShutdownTask : public ACE_Task_Base
+{
+ public:
+
+ OrbShutdownTask();
+ virtual ~OrbShutdownTask();
+
+ void orb(CORBA::ORB_ptr orb);
+
+ virtual int open(void*);
+ virtual int svc();
+ virtual int close(u_long);
+
+
+ private:
+
+ CORBA::ORB_var orb_;
+};
+
+typedef ACE_Singleton<OrbShutdownTask, ACE_Thread_Mutex> TheOrbShutdownTask;
+
+#endif