Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

Connector_Impl.cpp

Go to the documentation of this file.
00001 #ifndef TAO_CONNECTOR_IMPL_CPP
00002 #define TAO_CONNECTOR_IMPL_CPP
00003 
00004 #include "tao/Connector_Impl.h"
00005 
00006 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00007 # pragma once
00008 #endif /* ACE_LACKS_PRAGMA_ONCE */
00009 
00010 
00011 #if !defined(__ACE_INLINE__)
00012 #include "tao/Connector_Impl.inl"
00013 #endif /* __ACE_INLINE__ */
00014 
00015 ACE_RCSID(tao, Connector_Impl, "$Id: Connector_Impl.cpp,v 1.1.1.2 2003/02/21 18:36:44 chad Exp $")
00016 
00017 
00018 template <class SVC_HANDLER>
00019 
00020 TAO_Connect_Creation_Strategy<SVC_HANDLER>::    TAO_Connect_Creation_Strategy (ACE_Thread_Manager* t,
00021                                    TAO_ORB_Core *orb_core,
00022                                    void *arg,
00023                                    CORBA::Boolean flag)
00024     : ACE_Creation_Strategy <SVC_HANDLER> (t),
00025       orb_core_ (orb_core),
00026       arg_ (arg),
00027       lite_flag_ (flag)
00028 {
00029 
00030 }
00031 
00032 template <class SVC_HANDLER> int
00033 TAO_Connect_Creation_Strategy<SVC_HANDLER>::make_svc_handler (SVC_HANDLER *&sh)
00034 {
00035   if (sh == 0)
00036     ACE_NEW_RETURN (sh,
00037                     SVC_HANDLER (this->orb_core_,
00038                                  this->lite_flag_,
00039                                  this->arg_),
00040                     -1);
00041 
00042   // Add a reference count. Why is this needed? We need this to make
00043   // sure that the connector doesnt delete this handler when we are
00044   // waiting for non-blocking connects to complete.
00045 
00046   // REFCNT: matches decr_refcount() in XXX_Connector::make_connection()
00047   sh->incr_refcount ();
00048 
00049   return 0;
00050 }
00051 
00052 
00053 ////////////////////////////////////////////////////////////////
00054 
00055 template <class SVC_HANDLER>
00056 
00057 TAO_Connect_Concurrency_Strategy<SVC_HANDLER>::     TAO_Connect_Concurrency_Strategy (TAO_ORB_Core *orb_core)
00058        : orb_core_ (orb_core)
00059 {
00060 }
00061 
00062 template <class SVC_HANDLER> int
00063 
00064 TAO_Connect_Concurrency_Strategy<SVC_HANDLER>::    activate_svc_handler (SVC_HANDLER *sh,
00065                           void *arg)
00066 {
00067   return ACE_Concurrency_Strategy<SVC_HANDLER>::activate_svc_handler (sh,
00068                                                                       arg);
00069 }
00070 
00071 
00072 #endif /*TAO_CONNECTOR_IMPL_CPP*/

Generated on Mon Jun 16 13:48:05 2003 for TAO by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002