Dynamic_Adapter_Impl.h

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

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