Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tao / Dynamic_Adapter.h
blobeec6030c769605f44f978d4e5d5277183f2d7890
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file Dynamic_Adapter.h
7 * @author Jeff Parsons <parsons@cs.wustl.edu>
8 */
9 //=============================================================================
11 #ifndef TAO_DYNAMIC_ADAPTER_H
12 #define TAO_DYNAMIC_ADAPTER_H
14 #include /**/ "ace/pre.h"
15 #include "ace/Service_Object.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
18 # pragma once
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #include /**/ "tao/TAO_Export.h"
22 #include "tao/Basic_Types.h"
24 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
26 namespace CORBA
28 class Object;
29 typedef Object *Object_ptr;
31 class ORB;
32 typedef ORB *ORB_ptr;
34 class NVList;
35 typedef NVList *NVList_ptr;
37 class NamedValue;
38 typedef NamedValue *NamedValue_ptr;
40 class ExceptionList;
41 typedef ExceptionList *ExceptionList_ptr;
43 class Request;
44 typedef Request *Request_ptr;
46 class Context;
47 typedef Context *Context_ptr;
49 class ServerRequest;
50 typedef ServerRequest *ServerRequest_ptr;
52 typedef ULong Flags;
55 /**
56 * @class TAO_Dynamic_Adapter
58 * @brief TAO_Dynamic_Adapter.
60 * Class that adapts various functions in the CORBA namespace
61 * related to DII/DSI, which is no longer found in the TAO library.
62 * This is a base for the actual implementation in the DynamicInterface
63 * library.
65 class TAO_Export TAO_Dynamic_Adapter : public ACE_Service_Object
67 public:
68 virtual ~TAO_Dynamic_Adapter ();
70 // CORBA::Object::_create_request and CORBA::Object::_request.
71 virtual void create_request (CORBA::Object_ptr obj,
72 CORBA::ORB_ptr orb,
73 const char *operation,
74 CORBA::NVList_ptr arg_list,
75 CORBA::NamedValue_ptr result,
76 CORBA::ExceptionList_ptr exceptions,
77 CORBA::Request_ptr &request,
78 CORBA::Flags req_flags) = 0;
80 virtual CORBA::Request_ptr request (CORBA::Object_ptr obj,
81 CORBA::ORB_ptr orb,
82 const char *op) = 0;
84 // CORBA::is_nil and CORBA::release for Context, Request, and ServerRequest.
86 virtual CORBA::Boolean context_is_nil (CORBA::Context_ptr ctx) = 0;
88 virtual CORBA::Boolean request_is_nil (CORBA::Request_ptr req) = 0;
90 virtual CORBA::Boolean server_request_is_nil (CORBA::ServerRequest_ptr req) = 0;
92 virtual void context_release (CORBA::Context_ptr ctx) = 0;
94 virtual void request_release (CORBA::Request_ptr req) = 0;
96 virtual void server_request_release (CORBA::ServerRequest_ptr req) = 0;
98 // CORBA::ORB::create_exception_list.
99 virtual void create_exception_list (CORBA::ExceptionList_ptr &) = 0;
102 TAO_END_VERSIONED_NAMESPACE_DECL
104 #include /**/ "ace/post.h"
105 #endif /* TAO_DYNAMIC_ADAPTER_H */