summaryrefslogtreecommitdiff
path: root/trunk/TAO/tao/BiDir_GIOP/BiDirGIOP.h
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/TAO/tao/BiDir_GIOP/BiDirGIOP.h')
-rw-r--r--trunk/TAO/tao/BiDir_GIOP/BiDirGIOP.h83
1 files changed, 83 insertions, 0 deletions
diff --git a/trunk/TAO/tao/BiDir_GIOP/BiDirGIOP.h b/trunk/TAO/tao/BiDir_GIOP/BiDirGIOP.h
new file mode 100644
index 00000000000..f18a84ab0e1
--- /dev/null
+++ b/trunk/TAO/tao/BiDir_GIOP/BiDirGIOP.h
@@ -0,0 +1,83 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file BiDirGIOP.h
+ *
+ * $Id$
+ *
+ * Dynamic loader object for BiDir GIOP
+ *
+ *
+ * @author Balachandran Natarajan <bala@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef TAO_BIDIR_GIOP_H
+#define TAO_BIDIR_GIOP_H
+#include /**/ "ace/pre.h"
+
+#include "tao/BiDir_GIOP/bidirgiop_export.h"
+
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/PI/PI.h"
+#include "tao/BiDir_Adapter.h"
+#include "ace/Service_Config.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+class TAO_BiDirPolicy_Validator;
+
+/**
+ * @class TAO_BiDirGIOP_Loader
+ *
+ * @brief Class that loads the BiDir library.
+ */
+
+class TAO_BiDirGIOP_Export TAO_BiDirGIOP_Loader : public TAO_BiDir_Adapter
+{
+public:
+
+ /// Constructor
+ TAO_BiDirGIOP_Loader (void);
+
+ /// Destructor
+ virtual ~TAO_BiDirGIOP_Loader (void);
+
+ /// Initialize the BiDIR loader hooks.
+ virtual int init (int argc,
+ ACE_TCHAR* []);
+
+ virtual void load_policy_validators (TAO_Policy_Validator &validator
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Used to force the initialization of the ORB code.
+ static int Initializer (void);
+
+private:
+
+ /// Flag to indicate whether the BiDirGIOP library has been
+ /// activated.
+ static bool is_activated_;
+};
+
+static bool
+TAO_Requires_BiDirGIOP_Initializer = TAO_BiDirGIOP_Loader::Initializer ();
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+ACE_STATIC_SVC_DECLARE (TAO_BiDirGIOP_Loader)
+ACE_FACTORY_DECLARE (TAO_BiDirGIOP, TAO_BiDirGIOP_Loader)
+
+
+#define TAO_BIDIRGIOP_SAFE_INCLUDE
+#include "tao/BiDir_GIOP/BiDirPolicyC.h"
+#undef TAO_BIDIRGIOP_SAFE_INCLUDE
+
+#include /**/ "ace/post.h"
+#endif /* TAO_BIDIR_GIOP_H */