Dynamic_Adapter_Impl.cpp

Go to the documentation of this file.
00001 // Dynamic_Adapter_Impl.cpp,v 1.15 2006/03/10 07:19:08 jtc Exp
00002 
00003 #include "tao/DynamicInterface/Dynamic_Adapter_Impl.h"
00004 
00005 ACE_RCSID(DynamicInterface, TAO_Dynamic_Adapter_Impl, "Dynamic_Adapter_Impl.cpp,v 1.15 2006/03/10 07:19:08 jtc Exp")
00006 
00007 #include "tao/DynamicInterface/Request.h"
00008 #include "tao/DynamicInterface/Server_Request.h"
00009 #include "tao/ORB_Core.h"
00010 #include "tao/Exception.h"
00011 
00012 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00013 
00014 TAO_Dynamic_Adapter_Impl::TAO_Dynamic_Adapter_Impl (void)
00015 {
00016 }
00017 
00018 TAO_Dynamic_Adapter_Impl::~TAO_Dynamic_Adapter_Impl (void)
00019 {
00020 }
00021 
00022 void
00023 TAO_Dynamic_Adapter_Impl::create_request (
00024     CORBA::Object_ptr obj,
00025     CORBA::ORB_ptr orb,
00026     const char *operation,
00027     CORBA::NVList_ptr arg_list,
00028     CORBA::NamedValue_ptr result,
00029     CORBA::ExceptionList_ptr exceptions,
00030     CORBA::Request_ptr &request,
00031     CORBA::Flags req_flags
00032     ACE_ENV_ARG_DECL
00033   )
00034 {
00035   ACE_NEW_THROW_EX (request,
00036                     CORBA::Request (obj,
00037                                     orb,
00038                                     operation,
00039                                     arg_list,
00040                                     result,
00041                                     req_flags,
00042                                     exceptions
00043                                     ACE_ENV_ARG_PARAMETER),
00044                     CORBA::NO_MEMORY (
00045                         CORBA::SystemException::_tao_minor_code (
00046                             TAO::VMCID,
00047                             ENOMEM
00048                           ),
00049                         CORBA::COMPLETED_MAYBE
00050                       ));
00051 }
00052 
00053 CORBA::Request_ptr
00054 TAO_Dynamic_Adapter_Impl::request (CORBA::Object_ptr obj,
00055                                    CORBA::ORB_ptr orb,
00056                                    const char *operation
00057                                    ACE_ENV_ARG_DECL)
00058 {
00059   CORBA::Request_ptr req = CORBA::Request::_nil ();
00060   ACE_NEW_THROW_EX (req,
00061                     CORBA::Request (obj,
00062                                     orb,
00063                                     operation
00064                                     ACE_ENV_ARG_PARAMETER),
00065                     CORBA::NO_MEMORY (
00066                         CORBA::SystemException::_tao_minor_code (
00067                             TAO::VMCID,
00068                             ENOMEM
00069                           ),
00070                         CORBA::COMPLETED_MAYBE
00071                       ));
00072   ACE_CHECK_RETURN (CORBA::Request::_nil ());
00073 
00074   return req;
00075 }
00076 
00077 CORBA::Boolean
00078 TAO_Dynamic_Adapter_Impl::context_is_nil (CORBA::Context_ptr ctx)
00079 {
00080   return ctx == 0;
00081 }
00082 
00083 void
00084 TAO_Dynamic_Adapter_Impl::context_release (CORBA::Context_ptr ctx)
00085 {
00086   if (ctx != 0)
00087     {
00088       ctx->_decr_refcnt ();
00089     }
00090 }
00091 
00092 CORBA::Boolean
00093 TAO_Dynamic_Adapter_Impl::request_is_nil (CORBA::Request_ptr req)
00094 {
00095   return req == 0;
00096 }
00097 
00098 void
00099 TAO_Dynamic_Adapter_Impl::request_release (CORBA::Request_ptr req)
00100 {
00101   if (req != 0)
00102     {
00103       req->_decr_refcnt ();
00104     }
00105 }
00106 
00107 CORBA::Boolean
00108 TAO_Dynamic_Adapter_Impl::server_request_is_nil (CORBA::ServerRequest_ptr req)
00109 {
00110   return req == 0;
00111 }
00112 
00113 void
00114 TAO_Dynamic_Adapter_Impl::server_request_release (CORBA::ServerRequest_ptr req)
00115 {
00116   if (req != 0)
00117     {
00118       req->_decr_refcnt ();
00119     }
00120 }
00121 
00122 void
00123 TAO_Dynamic_Adapter_Impl::create_exception_list (
00124     CORBA::ExceptionList_ptr &list
00125     ACE_ENV_ARG_DECL
00126   )
00127 {
00128   ACE_NEW_THROW_EX (list,
00129                     CORBA::ExceptionList,
00130                     CORBA::NO_MEMORY (
00131                         CORBA::SystemException::_tao_minor_code (
00132                             TAO::VMCID,
00133                             ENOMEM
00134                           ),
00135                         CORBA::COMPLETED_NO
00136                       ));
00137 }
00138 
00139 int
00140 TAO_Dynamic_Adapter_Impl::Initializer (void)
00141 {
00142   TAO_ORB_Core::dynamic_adapter_name ("Concrete_Dynamic_Adapter");
00143   return ACE_Service_Config::process_directive (ace_svc_desc_TAO_Dynamic_Adapter_Impl);
00144 }
00145 
00146 TAO_END_VERSIONED_NAMESPACE_DECL
00147 
00148 ACE_STATIC_SVC_DEFINE (
00149     TAO_Dynamic_Adapter_Impl,
00150     ACE_TEXT ("Concrete_Dynamic_Adapter"),
00151     ACE_SVC_OBJ_T,
00152     &ACE_SVC_NAME (TAO_Dynamic_Adapter_Impl),
00153     ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ,
00154     0
00155   )
00156 
00157 ACE_FACTORY_DEFINE (TAO_DynamicInterface, TAO_Dynamic_Adapter_Impl)

Generated on Thu Nov 9 13:04:21 2006 for TAO_DynamicInterface by doxygen 1.3.6