summaryrefslogtreecommitdiff
path: root/TAO/tao/DLL_ORB.h
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2000-08-06 20:51:14 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2000-08-06 20:51:14 +0000
commit9ef6e9f8bc57551d9ad1fe84da7cde9e4b27125f (patch)
tree217066bb25f7612f656d4c2fa87b97787945100c /TAO/tao/DLL_ORB.h
parent93f7df5a05a37270bf748c210e7b8c8a7d7c469e (diff)
downloadATCD-9ef6e9f8bc57551d9ad1fe84da7cde9e4b27125f.tar.gz
ChangeLogTag:Sun Aug 06 16:46:31 2000 Ossama Othman <ossama@uci.edu>
Diffstat (limited to 'TAO/tao/DLL_ORB.h')
-rw-r--r--TAO/tao/DLL_ORB.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/TAO/tao/DLL_ORB.h b/TAO/tao/DLL_ORB.h
new file mode 100644
index 00000000000..a6d5e856fe7
--- /dev/null
+++ b/TAO/tao/DLL_ORB.h
@@ -0,0 +1,88 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO
+//
+// = FILENAME
+// DLL_ORB.h
+//
+// = DESCRIPTION
+// Header file for the TAO_DLL_ORB helper class.
+//
+// = AUTHOR
+// Ossama Othman <ossama@uci.edu>
+//
+// ============================================================================
+
+#ifndef TAO_DLL_ORB_H
+#define TAO_DLL_ORB_H
+
+#include "ace/pre.h"
+
+#include "ace/Task.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/ORB.h"
+
+class TAO_Export TAO_DLL_ORB : public ACE_Task_Base
+{
+ // = TITLE
+ // Manager for TAO library services and singleton cleanup.
+ //
+ // = DESCRIPTION
+ // The <TAO_Singleton_Manager> is basically simplified version of
+ // the ACE_Object_Manager. It is designed specifically to
+ // manage singletons created by TAO. For example, Singleton
+ // instances created by TAO will be automatically registered
+ // with the Singleton instance of this Singleton Manager.
+ //
+ // This class is necessary to ensure that TAO-specific
+ // Singletons are centrally isolated. The idea is that
+ // destruction of the instance of the <TAO_Singleton_Manager>
+ // triggers destruction of all objects/services registered with
+ // it.
+
+public:
+
+ TAO_DLL_ORB (void);
+ // Constructor
+
+ ~TAO_DLL_ORB (void);
+ // Destructor
+
+ virtual int init (int argc, ACE_TCHAR *argv[]);
+ // Initializes ORB when dynamic linking occurs.
+
+ virtual int fini (void);
+ // Terminates ORB when dynamic unlinking occurs.
+
+ virtual int svc (void);
+ // Run by a daemon thread to handle deferred processing.
+
+ CORBA::ORB_ptr orb (void);
+ // Returns a duplicate reference to the ORB.
+
+private:
+
+ CORBA::ORB_var orb_;
+ // Reference to the ORB.
+
+};
+
+#if defined (__ACE_INLINE__)
+# include "tao/DLL_ORB.inl"
+#endif /* ! __ACE_INLINE__ */
+
+ACE_STATIC_SVC_DECLARE (TAO_DLL_ORB)
+ACE_FACTORY_DECLARE (TAO, TAO_DLL_ORB)
+
+#include "ace/post.h"
+
+#endif /* TAO_DLL_ORB_H */