Dynamic_Adapter.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    Dynamic_Adapter.h
00006  *
00007  *  Dynamic_Adapter.h,v 1.17 2005/11/02 07:13:02 ossama Exp
00008  *
00009  *  @author  Jeff Parsons <parsons@cs.wustl.edu>
00010  */
00011 //=============================================================================
00012 
00013 #ifndef TAO_DYNAMIC_ADAPTER_H
00014 #define TAO_DYNAMIC_ADAPTER_H
00015 
00016 #include /**/ "ace/pre.h"
00017 #include "ace/Service_Object.h"
00018 
00019 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00020 # pragma once
00021 #endif /* ACE_LACKS_PRAGMA_ONCE */
00022 
00023 #include "ace/CORBA_macros.h"
00024 
00025 #include "tao/TAO_Export.h"
00026 #include "tao/Basic_Types.h"
00027 #include "ace/CORBA_macros.h"
00028 
00029 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00030 
00031 namespace CORBA
00032 {
00033   class Object;
00034   typedef Object *Object_ptr;
00035 
00036   class ORB;
00037   typedef ORB *ORB_ptr;
00038 
00039   class NVList;
00040   typedef NVList *NVList_ptr;
00041 
00042   class NamedValue;
00043   typedef NamedValue *NamedValue_ptr;
00044 
00045   class ExceptionList;
00046   typedef ExceptionList *ExceptionList_ptr;
00047 
00048   class Request;
00049   typedef Request *Request_ptr;
00050 
00051   class Context;
00052   typedef Context *Context_ptr;
00053 
00054   class ServerRequest;
00055   typedef ServerRequest *ServerRequest_ptr;
00056 
00057   typedef ULong Flags;
00058 
00059   class Environment;
00060 }
00061 
00062 /**
00063  * @class TAO_Dynamic_Adapter
00064  *
00065  * @brief TAO_Dynamic_Adapter.
00066  *
00067  * Class that adapts various functions in the CORBA namespace
00068  * related to DII/DSI, which is no longer found in the TAO library.
00069  * This is a base for the actual implementation in the DynamicInterface
00070  * library.
00071  */
00072 class TAO_Export TAO_Dynamic_Adapter : public ACE_Service_Object
00073 {
00074 public:
00075   virtual ~TAO_Dynamic_Adapter (void);
00076 
00077   // CORBA::Object::_create_request and CORBA::Object::_request.
00078 
00079   virtual void create_request (CORBA::Object_ptr obj,
00080                                CORBA::ORB_ptr orb,
00081                                const char *operation,
00082                                CORBA::NVList_ptr arg_list,
00083                                CORBA::NamedValue_ptr result,
00084                                CORBA::ExceptionList_ptr exceptions,
00085                                CORBA::Request_ptr &request,
00086                                CORBA::Flags req_flags
00087                                ACE_ENV_ARG_DECL) = 0;
00088 
00089   virtual CORBA::Request_ptr request (CORBA::Object_ptr obj,
00090                                       CORBA::ORB_ptr orb,
00091                                       const char *op
00092                                       ACE_ENV_ARG_DECL) = 0;
00093 
00094   // CORBA::is_nil and CORBA::release for Context, Request, and ServerRequest.
00095 
00096   virtual CORBA::Boolean context_is_nil (CORBA::Context_ptr ctx) = 0;
00097 
00098   virtual CORBA::Boolean request_is_nil (CORBA::Request_ptr req) = 0;
00099 
00100   virtual CORBA::Boolean server_request_is_nil (CORBA::ServerRequest_ptr req) = 0;
00101 
00102   virtual void context_release (CORBA::Context_ptr ctx) = 0;
00103 
00104   virtual void request_release (CORBA::Request_ptr req) = 0;
00105 
00106   virtual void server_request_release (CORBA::ServerRequest_ptr req) = 0;
00107 
00108   // CORBA::ORB::create_exception_list.
00109   virtual void create_exception_list (CORBA::ExceptionList_ptr &
00110                                       ACE_ENV_ARG_DECL) = 0;
00111 };
00112 
00113 TAO_END_VERSIONED_NAMESPACE_DECL
00114 
00115 #include /**/ "ace/post.h"
00116 #endif /* TAO_DYNAMIC_ADAPTER_H */

Generated on Thu Nov 9 11:54:10 2006 for TAO by doxygen 1.3.6