Dynamic_Adapter_Impl.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 
00004 //=============================================================================
00005 /**
00006  *  @file    Dynamic_Adapter_Impl.h
00007  *
00008  *  $Id: Dynamic_Adapter_Impl.h 77028 2007-02-12 14:49:05Z johnnyw $
00009  *
00010  *  Header file for class TAO_Dynamic_Adapter_Impl.
00011  *
00012  *
00013  *  @author  Jeff Parsons <parsons@cs.wustl.edu>
00014  */
00015 //=============================================================================
00016 
00017 
00018 #ifndef TAO_DYNAMIC_ADAPTER_IMPL_H
00019 #define TAO_DYNAMIC_ADAPTER_IMPL_H
00020 #include /**/ "ace/pre.h"
00021 
00022 #include "tao/Dynamic_Adapter.h"
00023 
00024 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00025 # pragma once
00026 #endif /* ACE_LACKS_PRAGMA_ONCE */
00027 
00028 #include "tao/DynamicInterface/dynamicinterface_export.h"
00029 #include "ace/Service_Config.h"
00030 
00031 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00032 
00033 /**
00034  * @class TAO_Dynamic_Adapter_Impl
00035  *
00036  * Concrete subclass of TAO_Dynamic_Adapter
00037  * in the TAO library. This class helps implement various
00038  * functions in the CORBA namespace relating to DII/DSI
00039  * invocations.
00040  */
00041 class TAO_DynamicInterface_Export TAO_Dynamic_Adapter_Impl
00042   : public TAO_Dynamic_Adapter
00043 {
00044 public:
00045   TAO_Dynamic_Adapter_Impl (void);
00046   virtual ~TAO_Dynamic_Adapter_Impl (void);
00047 
00048   // CORBA::Object::_create_request and CORBA::Object::_request.
00049 
00050   virtual void create_request (CORBA::Object_ptr obj,
00051                                CORBA::ORB_ptr orb,
00052                                const char *operation,
00053                                CORBA::NVList_ptr arg_list,
00054                                CORBA::NamedValue_ptr result,
00055                                CORBA::ExceptionList_ptr exceptions,
00056                                CORBA::Request_ptr &request,
00057                                CORBA::Flags req_flags);
00058 
00059   virtual CORBA::Request_ptr request (CORBA::Object_ptr obj,
00060                                       CORBA::ORB_ptr orb,
00061                                       const char *op);
00062 
00063   // CORBA::is_nil and CORBA::release for Context, Request, and ServerRequest.
00064 
00065   virtual CORBA::Boolean context_is_nil (CORBA::Context_ptr ctx);
00066 
00067   virtual CORBA::Boolean request_is_nil (CORBA::Request_ptr req);
00068 
00069   virtual CORBA::Boolean server_request_is_nil (CORBA::ServerRequest_ptr req);
00070 
00071   virtual void context_release (CORBA::Context_ptr ctx);
00072 
00073   virtual void request_release (CORBA::Request_ptr req);
00074 
00075   virtual void server_request_release (CORBA::ServerRequest_ptr req);
00076 
00077   // CORBA::ORB::create_exception_list.
00078 
00079   virtual void create_exception_list (CORBA::ExceptionList_ptr &list);
00080 
00081   // Used to force the initialization of the ORB code.
00082   static int Initializer (void);
00083 };
00084 
00085 static int
00086 TAO_Requires_Request_Factory_Initializer =
00087   TAO_Dynamic_Adapter_Impl::Initializer ();
00088 
00089 TAO_END_VERSIONED_NAMESPACE_DECL
00090 
00091 ACE_STATIC_SVC_DECLARE (TAO_Dynamic_Adapter_Impl)
00092 ACE_FACTORY_DECLARE (TAO_DynamicInterface, TAO_Dynamic_Adapter_Impl)
00093 
00094 #include /**/ "ace/post.h"
00095 #endif /* TAO_DYNAMIC_ADAPTER_IMPL_H */

Generated on Sun Jan 27 13:37:31 2008 for TAO_DynamicInterface by doxygen 1.3.6