ridl 2.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +49 -0
- data/README.rdoc +42 -0
- data/lib/idl/BiDirPolicy.pidl +28 -0
- data/lib/idl/CosNaming.idl +260 -0
- data/lib/idl/IOP.pidl +98 -0
- data/lib/idl/Messaging.pidl +152 -0
- data/lib/idl/PortableServer.pidl +371 -0
- data/lib/idl/TimeBase.pidl +40 -0
- data/lib/idl/orb.idl +200 -0
- data/lib/ridl/backend.rb +124 -0
- data/lib/ridl/delegate.rb +740 -0
- data/lib/ridl/expression.rb +276 -0
- data/lib/ridl/genfile.rb +220 -0
- data/lib/ridl/node.rb +2818 -0
- data/lib/ridl/optparse_ext.rb +357 -0
- data/lib/ridl/parser.diff +42 -0
- data/lib/ridl/parser.rb +3836 -0
- data/lib/ridl/parser.ry +933 -0
- data/lib/ridl/require.rb +18 -0
- data/lib/ridl/ridl.rb +44 -0
- data/lib/ridl/runner.rb +304 -0
- data/lib/ridl/scanner.rb +1238 -0
- data/lib/ridl/type.rb +507 -0
- data/lib/ridl/version.rb +22 -0
- metadata +74 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: fdf34fc099b40aa14fd02ec34323831225dce823
|
4
|
+
data.tar.gz: dd3dcb56caf4338fcf0ba487850d6db251590bc8
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2779b950bf28dded230a3b4a89d127f4663c2b33632df056000a825c5ea17b902970a5e05bd4ec7971052bc2e658e91a41e7a746388a0dd19f4380aceb89bb45
|
7
|
+
data.tar.gz: e5f56246051d5083ee5f09e47f2a7841427bd6c471d038f503c12adc2712d6397625aae63e51874945b60dee15a5f3e34502bd1fde83f7a9aa599d703df87527
|
data/LICENSE
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
RIDL LICENSE
|
2
|
+
|
3
|
+
RIDL (Licensed Product) is protected by copyright, and is distributed
|
4
|
+
under the following terms.
|
5
|
+
|
6
|
+
RIDL (Ruby IDL compiler) is an open source tool, developed by Remedy IT and
|
7
|
+
written in Ruby. It is designed to provide a flexible parser/compiler
|
8
|
+
frontend for OMG standard IDL.
|
9
|
+
RIDL provides a generic parser component for OMG IDL and a flexible framework
|
10
|
+
for plugging in (code) generation backends.
|
11
|
+
|
12
|
+
Since RIDL is open source and free of licensing fees, you are free to use,
|
13
|
+
modify, and distribute the source code, as long as you include this
|
14
|
+
copyright statement.
|
15
|
+
|
16
|
+
In particular, you can use RIDL to build proprietary software and are
|
17
|
+
under no obligation to redistribute any of your source code that is built
|
18
|
+
using RIDL. Note, however, that you may not do anything to the RIDL
|
19
|
+
code, such as copyrighting it yourself or claiming authorship of the RIDL
|
20
|
+
code, that will prevent RIDL from being distributed freely using an open
|
21
|
+
source development model.
|
22
|
+
|
23
|
+
Warranty
|
24
|
+
|
25
|
+
LICENSED PRODUCT IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING
|
26
|
+
THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
27
|
+
PURPOSE, NON-INFRINGEMENT, OR ARISING FROM A COURSE OF DEALING, USAGE OR
|
28
|
+
TRADE PRACTICE.
|
29
|
+
|
30
|
+
Support
|
31
|
+
|
32
|
+
LICENSED PRODUCT IS PROVIDED WITH NO SUPPORT AND WITHOUT ANY OBLIGATION ON
|
33
|
+
THE PART OF REMEDY IT OR ANY OF ITS SUBSIDIARIES OR AFFILIATES TO ASSIST IN
|
34
|
+
ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT.
|
35
|
+
|
36
|
+
Remedy IT provides support to users who have agreed on the terms of a support
|
37
|
+
contract.
|
38
|
+
|
39
|
+
Liability
|
40
|
+
|
41
|
+
REMEDY IT OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY
|
42
|
+
WITH RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS
|
43
|
+
BY LICENSED PRODUCT OR ANY PART THEREOF.
|
44
|
+
|
45
|
+
IN NO EVENT WILL REMEDY IT OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE
|
46
|
+
FOR ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL
|
47
|
+
DAMAGES, EVEN IF REMEDY IT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
48
|
+
|
49
|
+
RIDL is Copyright Remedy IT. Nijkerk, The Netherlands, 2006-2013.
|
data/README.rdoc
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
= RIDL Compiler
|
2
|
+
|
3
|
+
home :: https://osportal.remedy.nl/projects/ridl
|
4
|
+
|
5
|
+
== Description
|
6
|
+
|
7
|
+
RIDL is a Ruby library implementing an OMG \IDL parser/compiler
|
8
|
+
frontend with support for pluggable (and stackable) backends.
|
9
|
+
|
10
|
+
== Synopsis
|
11
|
+
|
12
|
+
RIDL provides a framework for implementing compiler/generators for
|
13
|
+
OMG standard \IDL interface definitions.
|
14
|
+
The framework includes:
|
15
|
+
|
16
|
+
* a RACC based parser supplemented with a custom scanner/tokenizer
|
17
|
+
* a complete AST class hierarchy for representing parsed \IDL specifications
|
18
|
+
* a complete Type class hierarchy
|
19
|
+
* \IDL constants expression support
|
20
|
+
* a builtin \IDL preprocessor expression parser/evaluator
|
21
|
+
* a flexible framework for pluggable (and stackable) backends
|
22
|
+
* basic support for backend code <b>re</b>generation
|
23
|
+
|
24
|
+
RIDL is compliant with the latest OMG \IDL standard.
|
25
|
+
|
26
|
+
== Bugs
|
27
|
+
|
28
|
+
If you find a bug, please report it at the RIDL project's
|
29
|
+
{issues tracker}[https://osportal.remedy.nl/projects/ridl/issues].
|
30
|
+
|
31
|
+
== License
|
32
|
+
|
33
|
+
RIDL is Copyright (c) 2007-2013 Remedy IT Expertise BV, The Netherlands.
|
34
|
+
|
35
|
+
It is free software, and may be redistributed under the terms specified in
|
36
|
+
the LICENSE file.
|
37
|
+
|
38
|
+
== Warranty
|
39
|
+
|
40
|
+
This software is provided "as is" and without any express or implied
|
41
|
+
warranties, including, without limitation, the implied warranties of
|
42
|
+
merchantibility and fitness for a particular purpose.
|
@@ -0,0 +1,28 @@
|
|
1
|
+
/* This file contains OMG IDL from CORBA V2.3.1
|
2
|
+
* $Id$
|
3
|
+
*/
|
4
|
+
|
5
|
+
#ifndef __BiDirPolicy_IDL
|
6
|
+
#define __BiDirPolicy_IDL
|
7
|
+
|
8
|
+
#include <orb.idl>
|
9
|
+
|
10
|
+
#pragma prefix "omg.org"
|
11
|
+
|
12
|
+
// Self contained module for Bi-directional GIOP policy
|
13
|
+
|
14
|
+
module BiDirPolicy {
|
15
|
+
|
16
|
+
typedef unsigned short BidirectionalPolicyValue;
|
17
|
+
|
18
|
+
const BidirectionalPolicyValue NORMAL = 0;
|
19
|
+
const BidirectionalPolicyValue BOTH = 1;
|
20
|
+
|
21
|
+
const CORBA::PolicyType BIDIRECTIONAL_POLICY_TYPE = 37;
|
22
|
+
|
23
|
+
interface BidirectionalPolicy : CORBA::Policy {
|
24
|
+
readonly attribute BidirectionalPolicyValue value;
|
25
|
+
};
|
26
|
+
};
|
27
|
+
|
28
|
+
#endif /* __BiDirPolicy_IDL */
|
@@ -0,0 +1,260 @@
|
|
1
|
+
// $Id$
|
2
|
+
|
3
|
+
#ifndef COS_NAMING_IDL
|
4
|
+
#define COS_NAMING_IDL
|
5
|
+
|
6
|
+
#pragma prefix "omg.org"
|
7
|
+
|
8
|
+
/**
|
9
|
+
* This module provides interface for using COS Naming Service.
|
10
|
+
*/
|
11
|
+
module CosNaming
|
12
|
+
{
|
13
|
+
/// Define a typedef for String. Maybe at some point, <Istring> will
|
14
|
+
/// be different to support Internationalization.
|
15
|
+
typedef string Istring;
|
16
|
+
|
17
|
+
/*
|
18
|
+
* This is a 'simple' name.
|
19
|
+
*
|
20
|
+
* Both id and kind fields are used in resolving names.
|
21
|
+
*/
|
22
|
+
struct NameComponent
|
23
|
+
{
|
24
|
+
/// This is the name that is used to identify object references.
|
25
|
+
Istring id;
|
26
|
+
|
27
|
+
/// Stores any additional info about the object reference.
|
28
|
+
Istring kind;
|
29
|
+
};
|
30
|
+
|
31
|
+
/// This is a compound name: <c1; c2; c3; cn> where c1 to cn-1 are
|
32
|
+
/// the names of the nested contexts, and cn is the name of the
|
33
|
+
/// object bound in cn-1.
|
34
|
+
typedef sequence <NameComponent> Name;
|
35
|
+
|
36
|
+
enum BindingType
|
37
|
+
{
|
38
|
+
/// object binding.
|
39
|
+
nobject,
|
40
|
+
|
41
|
+
/// Naming context binding.
|
42
|
+
ncontext
|
43
|
+
};
|
44
|
+
|
45
|
+
struct Binding
|
46
|
+
{
|
47
|
+
/// Simple name, under which an object is bound in a given context.
|
48
|
+
Name binding_name;
|
49
|
+
|
50
|
+
/// Indicates whether the binding_name identifies a context, and, therefore, can
|
51
|
+
/// participate in name resolution.
|
52
|
+
BindingType binding_type;
|
53
|
+
};
|
54
|
+
|
55
|
+
typedef sequence <Binding> BindingList;
|
56
|
+
|
57
|
+
// Forward declaration.
|
58
|
+
interface BindingIterator;
|
59
|
+
|
60
|
+
/// Interface for managing name bindings and naming contexts.
|
61
|
+
interface NamingContext
|
62
|
+
{
|
63
|
+
// = Exceptions.
|
64
|
+
|
65
|
+
enum NotFoundReason
|
66
|
+
{
|
67
|
+
missing_node,
|
68
|
+
not_context,
|
69
|
+
not_object
|
70
|
+
};
|
71
|
+
|
72
|
+
/// Indicates that the name does not identify a binding.
|
73
|
+
exception NotFound
|
74
|
+
{
|
75
|
+
|
76
|
+
NotFoundReason why;
|
77
|
+
Name rest_of_name;
|
78
|
+
};
|
79
|
+
|
80
|
+
/// Implementation may throw this exception if some reason it cannot
|
81
|
+
/// complete the operation. This is currently not used in TAO.
|
82
|
+
exception CannotProceed
|
83
|
+
{
|
84
|
+
|
85
|
+
NamingContext cxt;
|
86
|
+
Name rest_of_name;
|
87
|
+
};
|
88
|
+
|
89
|
+
/// A name of length 0 is invalid. Implementations may place
|
90
|
+
/// further restrictions.
|
91
|
+
exception InvalidName
|
92
|
+
{
|
93
|
+
};
|
94
|
+
|
95
|
+
/// Indicates that the specified name is already bound to
|
96
|
+
/// some object. Only one object can be bound to a
|
97
|
+
/// particular name in an context. To change the binding,
|
98
|
+
/// <rebind> and <rebind_context> can be used.
|
99
|
+
exception AlreadyBound
|
100
|
+
{
|
101
|
+
};
|
102
|
+
|
103
|
+
/// Indicates that the context is not empty.
|
104
|
+
exception NotEmpty
|
105
|
+
{
|
106
|
+
};
|
107
|
+
|
108
|
+
// = Binding operations.
|
109
|
+
|
110
|
+
/// Create a binding for name <n> and object <obj> in the naming
|
111
|
+
/// context. Compound names are treated as follows: ctx->bind
|
112
|
+
/// (<c1; c2; c3; cn>, obj) = (ctx->resolve (<c1; c2;
|
113
|
+
/// cn-1>))->bind (<cn>, obj) if the there already exists a
|
114
|
+
/// binding for the specified name, <AlreadyBound> exception is
|
115
|
+
/// thrown. Naming contexts should be bound using <bind_context>
|
116
|
+
/// and <rebind_context> in order to participate in name
|
117
|
+
/// resolution later.
|
118
|
+
void bind (in Name n, in Object obj)
|
119
|
+
raises (NotFound, CannotProceed, InvalidName, AlreadyBound);
|
120
|
+
|
121
|
+
/// This is similar to <bind> operation above, except for when
|
122
|
+
/// the binding for the specified name already exists in the
|
123
|
+
/// specified context. In that case, the existing binding is
|
124
|
+
/// replaced with the new one.
|
125
|
+
void rebind (in Name n, in Object obj)
|
126
|
+
raises (NotFound, CannotProceed, InvalidName);
|
127
|
+
|
128
|
+
/// This is the version of <bind> specifically for binding naming
|
129
|
+
/// contexts, so that they will participate in name resolution
|
130
|
+
/// when compound names are passed to be resolved.
|
131
|
+
void bind_context (in Name n, in NamingContext nc)
|
132
|
+
raises(NotFound, CannotProceed, InvalidName, AlreadyBound);
|
133
|
+
|
134
|
+
/// This is a version of <rebind> specifically for naming
|
135
|
+
/// contexts, so that they can participate in name resolution
|
136
|
+
/// when compound names are passed.
|
137
|
+
void rebind_context (in Name n, in NamingContext nc)
|
138
|
+
raises (NotFound, CannotProceed, InvalidName);
|
139
|
+
|
140
|
+
// = Resolving names.
|
141
|
+
|
142
|
+
/// Return object reference that is bound to the name. Compound
|
143
|
+
/// name resolve is defined as follows: ctx->resolve (<c1; c2;
|
144
|
+
/// cn>) = ctx->resolve (<c1; c2 cn-1>)->resolve (<cn>) The
|
145
|
+
/// naming service does not return the type of the object.
|
146
|
+
/// Clients are responsible for "narrowing" the object to the
|
147
|
+
/// appropriate type.
|
148
|
+
Object resolve (in Name n)
|
149
|
+
raises (NotFound, CannotProceed, InvalidName);
|
150
|
+
|
151
|
+
// = Unbinding names.
|
152
|
+
|
153
|
+
/// Remove the name binding from the context. When compound
|
154
|
+
/// names are used, unbind is defined as follows: ctx->unbind
|
155
|
+
/// (<c1; c2; cn>) = (ctx->resolve (<c1; c2; cn-1>))->unbind
|
156
|
+
/// (<cn>)
|
157
|
+
void unbind (in Name n)
|
158
|
+
raises (NotFound, CannotProceed, InvalidName);
|
159
|
+
|
160
|
+
// = Creating Naming Contexts.
|
161
|
+
|
162
|
+
/// This operation returns a new naming context implemented by
|
163
|
+
/// the same naming server in which the operation was invoked.
|
164
|
+
/// The context is not bound.
|
165
|
+
NamingContext new_context ();
|
166
|
+
|
167
|
+
/// This operation creates a new context and binds it to the name
|
168
|
+
/// supplied as an argument. The newly-created context is
|
169
|
+
/// implemented by the same server as the context in which it was
|
170
|
+
/// bound (the name argument excluding the last component).
|
171
|
+
NamingContext bind_new_context (in Name n)
|
172
|
+
raises (NotFound, AlreadyBound, CannotProceed, InvalidName);
|
173
|
+
|
174
|
+
// = Deleting contexts.
|
175
|
+
|
176
|
+
/// Delete the naming context. @note the user should <unbind>
|
177
|
+
/// any bindings in which the given context is bound to some
|
178
|
+
/// names before invoking <destroy> operation on it.
|
179
|
+
void destroy ()
|
180
|
+
raises (NotEmpty);
|
181
|
+
|
182
|
+
|
183
|
+
// = Listing the naming context.
|
184
|
+
|
185
|
+
/// Returns at most the requested number of bindings @a how_many
|
186
|
+
/// in @a bl. If the naming context contains additional bindings,
|
187
|
+
/// they are returned with a BindingIterator. In the naming
|
188
|
+
/// context does not contain any additional bindings @a bi
|
189
|
+
/// returned as null.
|
190
|
+
void list (in unsigned long how_many,
|
191
|
+
out BindingList bl,
|
192
|
+
out BindingIterator bi);
|
193
|
+
};
|
194
|
+
|
195
|
+
/// Interface for iterating over Bindings returned with the
|
196
|
+
/// <list> operation.
|
197
|
+
interface BindingIterator
|
198
|
+
{
|
199
|
+
/// This operation returns the next binding. If there are no
|
200
|
+
/// more bindings false is returned.
|
201
|
+
boolean next_one (out Binding b);
|
202
|
+
|
203
|
+
/// This operation returns at most the requested number of
|
204
|
+
/// bindings.
|
205
|
+
boolean next_n (in unsigned long how_many,
|
206
|
+
out BindingList bl);
|
207
|
+
|
208
|
+
/// This operation destroys the iterator.
|
209
|
+
void destroy ();
|
210
|
+
};
|
211
|
+
|
212
|
+
/// Interface for providing operations required to use URLs and
|
213
|
+
/// stringified names.
|
214
|
+
///
|
215
|
+
/// Reference to: Document orbos/98-10-11 (Interoperable Naming Joint Revised Submission)
|
216
|
+
/// Joint Submission by BEA Systems, DSTC, IONA, and Inprise
|
217
|
+
interface NamingContextExt : NamingContext
|
218
|
+
{
|
219
|
+
/// Stringified form of a Name.
|
220
|
+
typedef string StringName;
|
221
|
+
|
222
|
+
/// URL address such as myhost.xyz.com.
|
223
|
+
typedef string Address;
|
224
|
+
|
225
|
+
/// Stringified form of a URL address componoent.
|
226
|
+
typedef string URLString;
|
227
|
+
|
228
|
+
/// This operation accepts a Name and returns a stringified
|
229
|
+
/// name. If the name is invalid, an InvalidName exception is
|
230
|
+
/// raised.
|
231
|
+
StringName to_string (in Name n)
|
232
|
+
raises (InvalidName);
|
233
|
+
|
234
|
+
/// This operation returns a Name. If the input stringified
|
235
|
+
/// name is syntactically malformed or violates an
|
236
|
+
/// implementation limit, an InvalidName exception is
|
237
|
+
/// raised.
|
238
|
+
Name to_name (in StringName sn)
|
239
|
+
raises (InvalidName);
|
240
|
+
|
241
|
+
/// Indicates that the URL address is invalid.
|
242
|
+
exception InvalidAddress {
|
243
|
+
};
|
244
|
+
|
245
|
+
/// It performs any escapes necessary on the stringified name
|
246
|
+
/// and returns a fully formed URL string. An exception is
|
247
|
+
/// raised if either the protocol or name parameters are invalid.
|
248
|
+
URLString to_url (in Address addr,
|
249
|
+
in StringName sn)
|
250
|
+
raises (InvalidAddress, InvalidName);
|
251
|
+
|
252
|
+
/// This is similar to @c resolve as in the
|
253
|
+
/// CosNaming::NamingContext interface, except that it accepts
|
254
|
+
/// a stringified name as an argument instead of a Name.
|
255
|
+
Object resolve_str (in StringName n)
|
256
|
+
raises (NotFound, CannotProceed, InvalidName);
|
257
|
+
};
|
258
|
+
};
|
259
|
+
|
260
|
+
#endif /* COS_NAMING_IDL */
|
data/lib/idl/IOP.pidl
ADDED
@@ -0,0 +1,98 @@
|
|
1
|
+
// $Id$
|
2
|
+
|
3
|
+
#ifndef _IOP_IDL_
|
4
|
+
#define _IOP_IDL_
|
5
|
+
|
6
|
+
#include <orb.idl>
|
7
|
+
|
8
|
+
#pragma prefix "omg.org"
|
9
|
+
|
10
|
+
module IOP
|
11
|
+
{
|
12
|
+
local interface Codec
|
13
|
+
{
|
14
|
+
exception InvalidTypeForEncoding {};
|
15
|
+
exception FormatMismatch {};
|
16
|
+
exception TypeMismatch {};
|
17
|
+
|
18
|
+
CORBA::OctetSeq encode (in any data) raises (InvalidTypeForEncoding);
|
19
|
+
any decode (in CORBA::OctetSeq data) raises (FormatMismatch);
|
20
|
+
CORBA::OctetSeq encode_value (in any data) raises (InvalidTypeForEncoding);
|
21
|
+
any decode_value (in CORBA::OctetSeq data, in CORBA::TypeCode tc)
|
22
|
+
raises (FormatMismatch, TypeMismatch);
|
23
|
+
};
|
24
|
+
|
25
|
+
typedef short EncodingFormat;
|
26
|
+
const EncodingFormat ENCODING_CDR_ENCAPS = 0;
|
27
|
+
|
28
|
+
struct Encoding {
|
29
|
+
EncodingFormat format;
|
30
|
+
octet major_version;
|
31
|
+
octet minor_version;
|
32
|
+
};
|
33
|
+
|
34
|
+
local interface CodecFactory
|
35
|
+
{
|
36
|
+
exception UnknownEncoding {};
|
37
|
+
|
38
|
+
Codec create_codec (in Encoding enc) raises (UnknownEncoding);
|
39
|
+
};
|
40
|
+
|
41
|
+
typedef unsigned long ProfileId;
|
42
|
+
const ProfileId TAG_INTERNET_IOP = 0;
|
43
|
+
const ProfileId TAG_MULTIPLE_COMPONENTS = 1;
|
44
|
+
|
45
|
+
struct TaggedProfile {
|
46
|
+
ProfileId tag;
|
47
|
+
CORBA::OctetSeq profile_data;
|
48
|
+
};
|
49
|
+
|
50
|
+
typedef sequence <TaggedProfile> TaggedProfileSeq;
|
51
|
+
|
52
|
+
struct IOR {
|
53
|
+
string type_id;
|
54
|
+
TaggedProfileSeq profiles;
|
55
|
+
};
|
56
|
+
|
57
|
+
typedef unsigned long ComponentId;
|
58
|
+
|
59
|
+
const ComponentId TAG_ORB_TYPE = 0;
|
60
|
+
const ComponentId TAG_CODE_SETS= 1;
|
61
|
+
const ComponentId TAG_POLICIES= 2;
|
62
|
+
const ComponentId TAG_ALTERNATE_IIOP_ADDRESS = 3;
|
63
|
+
const ComponentId TAG_ASSOCIATION_OPTIONS = 13;
|
64
|
+
const ComponentId TAG_JAVA_CODEBASE = 25;
|
65
|
+
// ... others
|
66
|
+
|
67
|
+
struct TaggedComponent {
|
68
|
+
ComponentId tag;
|
69
|
+
CORBA::OctetSeq component_data;
|
70
|
+
};
|
71
|
+
|
72
|
+
typedef sequence <TaggedComponent> MultipleComponentProfile;
|
73
|
+
typedef sequence<TaggedComponent> TaggedComponentSeq;
|
74
|
+
|
75
|
+
typedef unsigned long ServiceId;
|
76
|
+
|
77
|
+
struct ServiceContext {
|
78
|
+
ServiceId context_id;
|
79
|
+
CORBA::OctetSeq context_data;
|
80
|
+
};
|
81
|
+
typedef sequence <ServiceContext> ServiceContextList;
|
82
|
+
|
83
|
+
const ServiceId TransactionService = 0;
|
84
|
+
const ServiceId CodeSets = 1;
|
85
|
+
const ServiceId ChainBypassCheck = 2;
|
86
|
+
const ServiceId ChainBypassInfo = 3;
|
87
|
+
const ServiceId LogicalThreadId = 4;
|
88
|
+
const ServiceId BI_DIR_IIOP = 5;
|
89
|
+
const ServiceId SendingContextRunTime = 6;
|
90
|
+
const ServiceId INVOCATION_POLICIES = 7;
|
91
|
+
const ServiceId FORWARDED_IDENTITY = 8;
|
92
|
+
const ServiceId UnknownExceptionInfo = 9;
|
93
|
+
const ServiceId ExceptionDetailMessage = 14;
|
94
|
+
const ServiceId SecurityAttributeService = 15;
|
95
|
+
|
96
|
+
}; // IOP module
|
97
|
+
|
98
|
+
#endif
|