summaryrefslogtreecommitdiff
path: root/TAO/tao/Connector_Impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Connector_Impl.cpp')
-rw-r--r--TAO/tao/Connector_Impl.cpp65
1 files changed, 65 insertions, 0 deletions
diff --git a/TAO/tao/Connector_Impl.cpp b/TAO/tao/Connector_Impl.cpp
new file mode 100644
index 00000000000..3e7c5742320
--- /dev/null
+++ b/TAO/tao/Connector_Impl.cpp
@@ -0,0 +1,65 @@
+// $Id$
+
+#ifndef TAO_CONNECTOR_IMPL_CPP
+#define TAO_CONNECTOR_IMPL_CPP
+
+#include "tao/Connector_Impl.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+template <class SVC_HANDLER>
+TAO_Connect_Creation_Strategy<SVC_HANDLER>::
+ TAO_Connect_Creation_Strategy (ACE_Thread_Manager* t,
+ TAO_ORB_Core *orb_core,
+ CORBA::Boolean flag)
+ : ACE_Creation_Strategy <SVC_HANDLER> (t),
+ orb_core_ (orb_core),
+ lite_flag_ (flag)
+{
+
+}
+
+template <class SVC_HANDLER> int
+TAO_Connect_Creation_Strategy<SVC_HANDLER>::make_svc_handler (SVC_HANDLER *&sh)
+{
+ if (sh == 0)
+ ACE_NEW_RETURN (sh,
+ SVC_HANDLER (this->orb_core_,
+ this->lite_flag_),
+ -1);
+
+ // We add to the #REFCOUNT# since the Connector needs this. See
+ // Connector::make_connection() for details.
+ sh->add_reference ();
+
+ // At this point, the #REFCOUNT# is two.
+
+ return 0;
+}
+
+
+////////////////////////////////////////////////////////////////
+
+template <class SVC_HANDLER>
+TAO_Connect_Concurrency_Strategy<SVC_HANDLER>::
+ TAO_Connect_Concurrency_Strategy (TAO_ORB_Core *orb_core)
+ : orb_core_ (orb_core)
+{
+}
+
+template <class SVC_HANDLER> int
+TAO_Connect_Concurrency_Strategy<SVC_HANDLER>::
+ activate_svc_handler (SVC_HANDLER *sh,
+ void *arg)
+{
+ return ACE_Concurrency_Strategy<SVC_HANDLER>::activate_svc_handler (sh,
+ arg);
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif /* TAO_CONNECTOR_IMPL_CPP */