1
// File: DynamicAny.idl
2
// CORBA 2.3, Chapter 9
4
#ifndef _DYNAMIC_ANY_IDL_
5
#define _DYNAMIC_ANY_IDL_
6
#pragma prefix "omg.org"
12
exception InvalidValue {};
13
exception TypeMismatch {};
15
CORBA::TypeCode type();
17
void assign( in DynAny dyn_any) raises(TypeMismatch);
18
void from_any( in any value) raises(TypeMismatch, InvalidValue);
21
boolean equal( in DynAny dyn_any);
25
void insert_boolean(in boolean value) raises(TypeMismatch, InvalidValue);
26
void insert_octet( in octet value) raises(TypeMismatch, InvalidValue);
27
void insert_char( in char value) raises(TypeMismatch, InvalidValue);
28
void insert_short( in short value) raises(TypeMismatch, InvalidValue);
29
void insert_ushort( in unsigned short
30
value) raises(TypeMismatch, InvalidValue);
31
void insert_long( in long value) raises(TypeMismatch, InvalidValue);
32
void insert_ulong( in unsigned long
33
value) raises(TypeMismatch, InvalidValue);
34
void insert_float( in float value) raises(TypeMismatch, InvalidValue);
35
void insert_double( in double value) raises(TypeMismatch, InvalidValue);
36
void insert_string( in string value) raises(TypeMismatch, InvalidValue);
37
void insert_reference(in CORBA::Object value) raises(TypeMismatch, InvalidValue);
38
void insert_typecode(in CORBA::TypeCode
39
value) raises(TypeMismatch, InvalidValue);
40
void insert_longlong(in long long value) raises(TypeMismatch, InvalidValue);
41
void insert_ulonglong(in unsigned long long
42
value) raises(TypeMismatch, InvalidValue);
43
void insert_longdouble(in long double
44
value) raises(TypeMismatch, InvalidValue);
45
void insert_wchar( in wchar value) raises(TypeMismatch, InvalidValue);
46
void insert_wstring(in wstring value) raises(TypeMismatch, InvalidValue);
47
void insert_any( in any value) raises(TypeMismatch, InvalidValue);
48
void insert_dyn_any(in DynAny value) raises(TypeMismatch, InvalidValue);
50
void insert_val( in ValueBase value) raises(TypeMismatch, InvalidValue);
53
boolean get_boolean() raises(TypeMismatch, InvalidValue);
54
octet get_octet() raises(TypeMismatch, InvalidValue);
55
char get_char() raises(TypeMismatch, InvalidValue);
56
short get_short() raises(TypeMismatch, InvalidValue);
57
unsigned short get_ushort() raises(TypeMismatch, InvalidValue);
58
long get_long() raises(TypeMismatch, InvalidValue);
59
unsigned long get_ulong() raises(TypeMismatch, InvalidValue);
60
float get_float() raises(TypeMismatch, InvalidValue);
61
double get_double() raises(TypeMismatch, InvalidValue);
62
string get_string() raises(TypeMismatch, InvalidValue);
63
CORBA::Object get_reference() raises(TypeMismatch, InvalidValue);
64
CORBA::TypeCode get_typecode() raises(TypeMismatch, InvalidValue);
65
long long get_longlong() raises(TypeMismatch, InvalidValue);
66
unsigned long long get_ulonglong() raises(TypeMismatch, InvalidValue);
67
long double get_longdouble() raises(TypeMismatch, InvalidValue);
68
wchar get_wchar() raises(TypeMismatch, InvalidValue);
69
wstring get_wstring() raises(TypeMismatch, InvalidValue);
70
any get_any() raises(TypeMismatch, InvalidValue);
71
DynAny get_dyn_any() raises(TypeMismatch, InvalidValue);
73
ValueBase get_val() raises(TypeMismatch, InvalidValue);
76
boolean seek(in long index);
79
unsigned long component_count();
80
DynAny current_component() raises(TypeMismatch);
83
interface DynFixed : DynAny {
85
boolean set_value(in string val) raises(TypeMismatch, InvalidValue);
88
interface DynEnum : DynAny {
89
string get_as_string();
90
void set_as_string(in string value)
92
unsigned long get_as_ulong();
93
void set_as_ulong( in unsigned long value)
96
typedef string FieldName;
97
struct NameValuePair {
102
typedef sequence<NameValuePair> NameValuePairSeq;
103
struct NameDynAnyPair {
108
typedef sequence<NameDynAnyPair> NameDynAnyPairSeq;
109
interface DynStruct : DynAny {
110
FieldName current_member_name() raises(TypeMismatch, InvalidValue);
111
CORBA::TCKind current_member_kind() raises(TypeMismatch, InvalidValue);
112
NameValuePairSeq get_members();
113
void set_members(in NameValuePairSeq value)
114
raises(TypeMismatch, InvalidValue);
115
NameDynAnyPairSeq get_members_as_dyn_any();
116
void set_members_as_dyn_any(in NameDynAnyPairSeq value)
117
raises(TypeMismatch, InvalidValue);
120
interface DynUnion : DynAny {
121
DynAny get_discriminator();
122
void set_discriminator(in DynAny d)
123
raises(TypeMismatch);
124
void set_to_default_member() raises(TypeMismatch);
125
void set_to_no_active_member() raises(TypeMismatch);
126
boolean has_no_active_member();
127
CORBA::TCKind discriminator_kind();
128
DynAny member() raises(InvalidValue);
129
FieldName member_name() raises(InvalidValue);
130
CORBA::TCKind member_kind() raises(InvalidValue);
133
typedef sequence<any> AnySeq;
134
typedef sequence<DynAny> DynAnySeq;
135
interface DynSequence : DynAny {
136
unsigned long get_length();
137
void set_length(in unsigned long len)
138
raises(InvalidValue);
139
AnySeq get_elements();
140
void set_elements(in AnySeq value)
141
raises(TypeMismatch, InvalidValue);
142
DynAnySeq get_elements_as_dyn_any();
143
void set_elements_as_dyn_any(in DynAnySeq value)
144
raises(TypeMismatch, InvalidValue);
147
interface DynArray : DynAny {
148
AnySeq get_elements();
149
void set_elements(in AnySeq value)
150
raises(TypeMismatch, InvalidValue);
151
DynAnySeq get_elements_as_dyn_any();
152
void set_elements_as_dyn_any(in DynAnySeq value)
153
raises(TypeMismatch, InvalidValue);
156
interface DynValue : DynAny {
157
FieldName current_member_name() raises(TypeMismatch, InvalidValue);
158
CORBA::TCKind current_member_kind() raises(TypeMismatch, InvalidValue);
159
NameValuePairSeq get_members();
160
void set_members(in NameValuePairSeq value)
161
raises(TypeMismatch, InvalidValue);
162
NameDynAnyPairSeq get_members_as_dyn_any();
163
void set_members_as_dyn_any(in NameDynAnyPairSeq value)
164
raises(TypeMismatch, InvalidValue);
167
interface DynAnyFactory {
168
exception InconsistentTypeCode {};
169
DynAny create_dyn_any(in any value)
170
raises(InconsistentTypeCode);
171
DynAny create_dyn_any_from_type_code(in CORBA::TypeCode type)
172
raises(InconsistentTypeCode);
175
}; // module DynamicAny
176
#endif // _DYNAMIC_ANY_IDL_