1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
--- orig/DynamicAny.pidl Fri Aug 25 09:46:46 2000
+++ DynamicAny.pidl Fri Aug 25 15:19:49 2000
@@ -1,5 +1,57 @@
-// File: DynamicAny.idl
-// CORBA 2.3, Chapter 9
+//
+// $Id$
+//
+// ================================================================
+//
+// = LIBRARY
+// TAO
+//
+// = FILENAME
+// DynamicAny.pidl
+//
+// = DESCRIPTION
+// This file was used to generate the code in DynamicAnyC.{h,i,cpp}
+// The file was obtained from the OMG website as part of the full
+// CORBA IDL formal/00-04-01:
+// http://www.omg.org/technology/documents/formal/corba_omg_idl_text_file.htm
+// I couldn't find a copyright notice in the document, but I will
+// assume that it is Copyright (C) 2000, OMG.
+// We performed some modifications to the file, mainly to use local
+// interfaces (part of what is coming in CORBA 2.4 and CORBA 3.0).
+//
+// The command used to generate code from this file is:
+//
+// tao_idl.exe -o orig -Gp -Gd -Ge 1 -Gv \
+// -Wb,export_macro=TAO_DynamicAny_Export \
+// -Wb,export_include=dynamicany_export.h \
+// -Wb,pre_include="ace/pre.h" \
+// -Wb,post_include="ace/post.h" \
+// DynamicAny.pidl
+//
+// after the file is generated a patch must be applied. The patch
+// fixes some problems with interceptors and local interfaces and
+// disables parts of the code under certain configurations.
+//
+// Apply patches using the following commands:
+//
+// patch < diffs/DynamicAnyC.h.diff
+// patch < diffs/DynamicAnyC.i.diff
+// patch < diffs/DynamicAnyC.cpp.diff
+//
+// Those changes are required because the generated
+// code is part of the TAO library, it hardly makes any sense to
+// change the IDL compiler to support changes that are very
+// occasional.
+//
+// Note: The diffs were generated with these commands:
+//
+// diff -wbu orig/DynamicAny.pidl DynamicAny.pidl > diffs\DynamicAny.pidl.diff
+//
+// diff -wbu orig/DynamicAnyC.h DynamicAnyC.h > diffs/DynamicAnyC.h.diff
+// diff -wbu orig/DynamicAnyC.i DynamicAnyC.i > diffs/DynamicAnyC.i.diff
+// diff -wbu orig/DynamicAnyC.cpp DynamicAnyC.cpp > diffs/DynamicAnyC.cpp.diff
+//
+// ================================================================
#ifndef _DYNAMIC_ANY_IDL_
#define _DYNAMIC_ANY_IDL_
@@ -8,7 +60,7 @@
module DynamicAny {
- interface DynAny {
+ local interface DynAny {
exception InvalidValue {};
exception TypeMismatch {};
@@ -46,7 +98,7 @@
void insert_wstring(in wstring value) raises(TypeMismatch, InvalidValue);
void insert_any( in any value) raises(TypeMismatch, InvalidValue);
void insert_dyn_any(in DynAny value) raises(TypeMismatch, InvalidValue);
- void insert_val( in ValueBase value) raises(TypeMismatch, InvalidValue);
+ void insert_val( in CORBA::ValueBase value) raises(TypeMismatch, InvalidValue);
boolean get_boolean() raises(TypeMismatch, InvalidValue);
octet get_octet() raises(TypeMismatch, InvalidValue);
@@ -67,7 +119,7 @@
wstring get_wstring() raises(TypeMismatch, InvalidValue);
any get_any() raises(TypeMismatch, InvalidValue);
DynAny get_dyn_any() raises(TypeMismatch, InvalidValue);
- ValueBase get_val() raises(TypeMismatch, InvalidValue);
+ CORBA::ValueBase get_val() raises(TypeMismatch, InvalidValue);
boolean seek(in long index);
void rewind();
@@ -76,12 +128,12 @@
DynAny current_component() raises(TypeMismatch);
};
- interface DynFixed : DynAny {
+ local interface DynFixed : DynAny {
string get_value();
boolean set_value(in string val) raises(TypeMismatch, InvalidValue);
};
- interface DynEnum : DynAny {
+ local interface DynEnum : DynAny {
string get_as_string();
void set_as_string(in string value)
raises(InvalidValue);
@@ -102,7 +154,7 @@
};
typedef sequence<NameDynAnyPair> NameDynAnyPairSeq;
- interface DynStruct : DynAny {
+ local interface DynStruct : DynAny {
FieldName current_member_name() raises(TypeMismatch, InvalidValue);
CORBA::TCKind current_member_kind() raises(TypeMismatch, InvalidValue);
NameValuePairSeq get_members();
@@ -113,7 +165,7 @@
raises(TypeMismatch, InvalidValue);
};
- interface DynUnion : DynAny {
+ local interface DynUnion : DynAny {
DynAny get_discriminator();
void set_discriminator(in DynAny d)
raises(TypeMismatch);
@@ -128,7 +180,7 @@
typedef sequence<any> AnySeq;
typedef sequence<DynAny> DynAnySeq;
- interface DynSequence : DynAny {
+ local interface DynSequence : DynAny {
unsigned long get_length();
void set_length(in unsigned long len)
raises(InvalidValue);
@@ -140,7 +192,7 @@
raises(TypeMismatch, InvalidValue);
};
- interface DynArray : DynAny {
+ local interface DynArray : DynAny {
AnySeq get_elements();
void set_elements(in AnySeq value)
raises(TypeMismatch, InvalidValue);
@@ -149,7 +201,7 @@
raises(TypeMismatch, InvalidValue);
};
- interface DynValue : DynAny {
+ local interface DynValue : DynAny {
FieldName current_member_name() raises(TypeMismatch, InvalidValue);
CORBA::TCKind current_member_kind() raises(TypeMismatch, InvalidValue);
NameValuePairSeq get_members();
@@ -160,7 +212,7 @@
raises(TypeMismatch, InvalidValue);
};
- interface DynAnyFactory {
+ local interface DynAnyFactory {
exception InconsistentTypeCode {};
DynAny create_dyn_any(in any value)
raises(InconsistentTypeCode);
|