4
* @file PortableInterceptor.pidl
6
* PortableInterceptor.pidl,v 1.23 2003/12/24 14:26:57 bala Exp
8
* @brief Pre-compiled IDL source for the PortableInterceptor
9
* components in the ORB.
11
* This file contains the interface definitions for "Portable"
12
* Interceptor support.
13
* The following is from orbos/99-12-02 Portable Interceptors spec,
14
* the full IDL is downloadable from orbos/99-12-02.
16
* Additional updates from ptc/00-08-05 are also included. Changes
18
* - addition of the Interceptor::destroy() method
19
* - move of CodecFactory and Codec interfaces to the IOP module
21
* This file was used to generate the code in PortableInterceptorC.*
22
* The command used to generate code is:
25
* -o orig -Gp -Gd -Ge 1 -GT -GA
26
* -Wb,export_macro=TAO_Export
27
* -Wb,pre_include="ace/pre.h"
28
* -Wb,post_include="ace/post.h"
29
* PortableInterceptor.pidl
31
* Patches for changes to the generated code are available in the
35
// File: PortableInterceptor.idl
36
#ifndef _PORTABLE_INTERCEPTOR_IDL_
37
#define _PORTABLE_INTERCEPTOR_IDL_
39
#include <PI_Forward.pidl>
40
#include <Current.pidl>
41
#include <Dynamic.pidl>
42
#include <Messaging_SyncScope.pidl>
43
#include <IOP_Codec.pidl>
44
#include <IOP_IOR.pidl>
46
module PortableInterceptor {
48
typeprefix PortableInterceptor "omg.org";
50
local interface Interceptor
52
readonly attribute string name;
56
exception ForwardRequest
62
typedef short ReplyStatus;
64
// Valid reply_status values:
65
const ReplyStatus SUCCESSFUL = 0;
66
const ReplyStatus SYSTEM_EXCEPTION = 1;
67
const ReplyStatus USER_EXCEPTION = 2;
68
const ReplyStatus LOCATION_FORWARD = 3;
69
const ReplyStatus LOCATION_FORWARD_PERMANENT = 4; // @@ TO BE REMOVED
70
const ReplyStatus TRANSPORT_RETRY = 5; // @@ TO BE RENUMBERED to 4
71
const ReplyStatus UNKNOWN = 6; // @@ TO BE RENUMBERED to 5
73
typedef unsigned long SlotId;
75
exception InvalidSlot {};
77
local interface Current : CORBA::Current
79
any get_slot (in SlotId id) raises (InvalidSlot);
80
void set_slot (in SlotId id, in any data) raises (InvalidSlot);
83
local interface RequestInfo
85
readonly attribute unsigned long request_id;
86
readonly attribute string operation;
87
readonly attribute Dynamic::ParameterList arguments;
88
readonly attribute Dynamic::ExceptionList exceptions;
89
readonly attribute Dynamic::ContextList contexts;
90
readonly attribute Dynamic::RequestContext operation_context;
91
readonly attribute any result;
92
readonly attribute boolean response_expected;
93
readonly attribute Messaging::SyncScope sync_scope;
94
readonly attribute ReplyStatus reply_status;
95
readonly attribute Object forward_reference;
96
any get_slot (in SlotId id) raises (InvalidSlot);
97
IOP::ServiceContext get_request_service_context (in IOP::ServiceId id);
98
IOP::ServiceContext get_reply_service_context (in IOP::ServiceId id);
101
local interface ClientRequestInfo : RequestInfo
103
readonly attribute Object target;
104
readonly attribute Object effective_target;
105
readonly attribute IOP::TaggedProfile effective_profile;
106
readonly attribute any received_exception;
107
readonly attribute CORBA::RepositoryId received_exception_id;
108
IOP::TaggedComponent get_effective_component (in IOP::ComponentId id);
109
IOP::TaggedComponentSeq get_effective_components (in IOP::ComponentId id);
110
CORBA::Policy get_request_policy (in CORBA::PolicyType type);
111
void add_request_service_context (
112
in IOP::ServiceContext service_context,
116
local interface ServerRequestInfo : RequestInfo
118
readonly attribute any sending_exception;
119
readonly attribute ServerId server_id;
120
readonly attribute ORBId orb_id;
121
readonly attribute AdapterName adapter_name;
122
readonly attribute CORBA::OctetSeq object_id;
123
readonly attribute CORBA::OctetSeq adapter_id;
124
readonly attribute CORBA::RepositoryId target_most_derived_interface;
125
CORBA::Policy get_server_policy (in CORBA::PolicyType type);
126
void set_slot (in SlotId id, in any data) raises (InvalidSlot);
127
boolean target_is_a (in CORBA::RepositoryId id);
128
void add_reply_service_context (
129
in IOP::ServiceContext service_context,
133
local interface ClientRequestInterceptor : Interceptor
135
void send_request (in ClientRequestInfo ri) raises (ForwardRequest);
136
void send_poll (in ClientRequestInfo ri);
137
void receive_reply (in ClientRequestInfo ri);
138
void receive_exception (in ClientRequestInfo ri) raises (ForwardRequest);
139
void receive_other (in ClientRequestInfo ri) raises (ForwardRequest);
142
local interface ServerRequestInterceptor : Interceptor
144
/// Proprietary method in TAO for fault tolerance
145
void tao_ft_interception_point (in ServerRequestInfo ri, out CORBA::OctetSeq os) raises (ForwardRequest);
146
void receive_request_service_contexts (in ServerRequestInfo ri) raises (ForwardRequest);
147
void receive_request (in ServerRequestInfo ri) raises (ForwardRequest);
148
void send_reply (in ServerRequestInfo ri);
149
void send_exception (in ServerRequestInfo ri) raises (ForwardRequest);
150
void send_other (in ServerRequestInfo ri) raises (ForwardRequest);
153
local interface PolicyFactory
155
CORBA::Policy create_policy (in CORBA::PolicyType type, in any value)
156
raises (CORBA::PolicyError);
159
local interface IORInterceptor;
161
local interface ORBInitInfo
163
typedef string ObjectId;
165
exception DuplicateName
170
exception InvalidName {};
172
readonly attribute CORBA::StringSeq arguments;
173
readonly attribute string orb_id;
174
readonly attribute IOP::CodecFactory codec_factory;
176
void register_initial_reference (in ObjectId id, in Object obj)
177
raises (InvalidName);
178
Object resolve_initial_references (in ObjectId id)
179
raises (InvalidName);
180
void add_client_request_interceptor (
181
in ClientRequestInterceptor interceptor)
182
raises (DuplicateName);
183
void add_server_request_interceptor (
184
in ServerRequestInterceptor interceptor)
185
raises (DuplicateName);
186
void add_ior_interceptor (in IORInterceptor interceptor)
187
raises (DuplicateName);
188
SlotId allocate_slot_id ();
189
void register_policy_factory (
190
in CORBA::PolicyType type,
191
in PolicyFactory policy_factory);
194
local interface ORBInitializer
196
void pre_init (in ORBInitInfo info);
197
void post_init (in ORBInitInfo info);
202
#endif /* _PORTABLE_INTERCEPTOR_IDL_ */