blob: 23c06c35a5955e95ef956124f42ec68b1c6b526e [file] [log] [blame]
// File: DynamicAny.idl
// CORBA 3.0, Chapter 9
#ifndef _DYNAMIC_ANY_IDL_
#define _DYNAMIC_ANY_IDL_
#ifdef _PRE_3_0_COMPILER_
#pragma prefix "omg.org"
#include <orb.idl>
#else
import ::CORBA;
#endif // _PRE_3_0_COMPILER_
module DynamicAny {
#ifndef _PRE_3_0_COMPILER_
typeprefix DynamicAny "omg.org";
#endif // _PRE_3_0_COMPILER_
local interface DynAny {
exception InvalidValue {};
exception TypeMismatch {};
CORBA::TypeCode type();
void assign( in DynAny dyn_any)
raises(TypeMismatch);
void from_any( in any value)
raises(TypeMismatch, InvalidValue);
any to_any();
boolean equal( in DynAny dyn_any);
void destroy();
DynAny copy();
void insert_boolean(in boolean value)
raises(TypeMismatch, InvalidValue);
void insert_octet( in octet value)
raises(TypeMismatch, InvalidValue);
void insert_char( in char value)
raises(TypeMismatch, InvalidValue);
void insert_short( in short value)
raises(TypeMismatch, InvalidValue);
void insert_ushort( in unsigned short
value)
raises(TypeMismatch, InvalidValue);
void insert_long( in long value)
raises(TypeMismatch, InvalidValue);
void insert_ulong( in unsigned long
value)
raises(TypeMismatch, InvalidValue);
void insert_float( in float value)
raises(TypeMismatch, InvalidValue);
void insert_double( in double value)
raises(TypeMismatch, InvalidValue);
void insert_string( in string value)
raises(TypeMismatch, InvalidValue);
void insert_reference(in Object value)
raises(TypeMismatch, InvalidValue);
void insert_typecode(in CORBA::TypeCode
value)
raises(TypeMismatch, InvalidValue);
void insert_longlong(in long long value)
raises(TypeMismatch, InvalidValue);
void insert_ulonglong(in unsigned long long
value)
raises(TypeMismatch, InvalidValue);
void insert_longdouble(in long double
value)
raises(TypeMismatch, InvalidValue);
void insert_wchar( in wchar value)
raises(TypeMismatch, InvalidValue);
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);
boolean get_boolean()
raises(TypeMismatch, InvalidValue);
octet get_octet()
raises(TypeMismatch, InvalidValue);
char get_char()
raises(TypeMismatch, InvalidValue);
short get_short()
raises(TypeMismatch, InvalidValue);
unsigned short get_ushort()
raises(TypeMismatch, InvalidValue);
long get_long()
raises(TypeMismatch, InvalidValue);
unsigned long get_ulong()
raises(TypeMismatch, InvalidValue);
float get_float()
raises(TypeMismatch, InvalidValue);
double get_double()
raises(TypeMismatch, InvalidValue);
string get_string()
raises(TypeMismatch, InvalidValue);
Object get_reference()
raises(TypeMismatch, InvalidValue);
CORBA::TypeCode get_typecode()
raises(TypeMismatch, InvalidValue);
long long get_longlong()
raises(TypeMismatch, InvalidValue);
unsigned long long get_ulonglong()
raises(TypeMismatch, InvalidValue);
long double get_longdouble()
raises(TypeMismatch, InvalidValue);
wchar get_wchar()
raises(TypeMismatch, InvalidValue);
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);
boolean seek(in long index);
void rewind();
boolean next();
unsigned long component_count();
DynAny current_component()
raises(TypeMismatch);
void insert_abstract(in AbstractBase value)
raises(TypeMismatch, InvalidValue);
AbstractBase get_abstract()
raises(TypeMismatch, InvalidValue);
void insert_boolean_seq(in CORBA::BooleanSeq value)
raises(TypeMismatch, InvalidValue);
void insert_octet_seq(in CORBA::OctetSeq value)
raises(TypeMismatch, InvalidValue);
void insert_char_seq(in CORBA::CharSeq value)
raises(TypeMismatch, InvalidValue);
void insert_short_seq(in CORBA::ShortSeq value)
raises(TypeMismatch, InvalidValue);
void insert_ushort_seq(in CORBA::UShortSeq value)
raises(TypeMismatch, InvalidValue);
void insert_long_seq(in CORBA::LongSeq value)
raises(TypeMismatch, InvalidValue);
void insert_ulong_seq(in CORBA::ULongSeq value)
raises(TypeMismatch, InvalidValue);
void insert_float_seq(in CORBA::FloatSeq value)
raises(TypeMismatch, InvalidValue);
void insert_double_seq(in CORBA::DoubleSeq value)
raises(TypeMismatch, InvalidValue);
void insert_longlong_seq(in CORBA::LongLongSeq value)
raises(TypeMismatch, InvalidValue);
void insert_ulonglong_seq(in CORBA::ULongLongSeq value)
raises(TypeMismatch, InvalidValue);
void insert_longdouble_seq(in CORBA::LongDoubleSeq value)
raises(TypeMismatch, InvalidValue);
void insert_wchar_seq(in CORBA::WCharSeq value)
raises(TypeMismatch, InvalidValue);
CORBA::BooleanSeq get_boolean_seq()
raises(TypeMismatch, InvalidValue);
CORBA::OctetSeq get_octet_seq()
raises(TypeMismatch, InvalidValue);
CORBA::CharSeq get_char_seq()
raises(TypeMismatch, InvalidValue);
CORBA::ShortSeq get_short_seq()
raises(TypeMismatch, InvalidValue);
CORBA::UShortSeq get_ushort_seq()
raises(TypeMismatch, InvalidValue);
CORBA::LongSeq get_long_seq()
raises(TypeMismatch, InvalidValue);
CORBA::ULongSeq get_ulong_seq()
raises(TypeMismatch, InvalidValue);
CORBA::FloatSeq get_float_seq()
raises(TypeMismatch, InvalidValue);
CORBA::DoubleSeq get_double_seq()
raises(TypeMismatch, InvalidValue);
CORBA::LongLongSeq get_longlong_seq()
raises(TypeMismatch, InvalidValue);
CORBA::ULongLongSeq get_ulonglong_seq()
raises(TypeMismatch, InvalidValue);
CORBA::LongDoubleSeq get_longdouble_seq()
raises(TypeMismatch, InvalidValue);
CORBA::WCharSeq get_wchar_seq()
raises(TypeMismatch, InvalidValue);
};
local interface DynFixed : DynAny {
string get_value();
boolean set_value(in string val)
raises(TypeMismatch, InvalidValue);
};
local interface DynEnum : DynAny {
string get_as_string();
void set_as_string(in string value)
raises(InvalidValue);
unsigned long get_as_ulong();
void set_as_ulong( in unsigned long value)
raises(InvalidValue);
};
typedef string FieldName;
struct NameValuePair {
FieldName id;
any value;
};
typedef sequence<NameValuePair> NameValuePairSeq;
struct NameDynAnyPair {
FieldName id;
DynAny value;
};
typedef sequence<NameDynAnyPair> NameDynAnyPairSeq;
local interface DynStruct : DynAny {
FieldName current_member_name()
raises(TypeMismatch, InvalidValue);
CORBA::TCKind current_member_kind()
raises(TypeMismatch, InvalidValue);
NameValuePairSeq get_members();
void set_members(in NameValuePairSeq value)
raises(TypeMismatch, InvalidValue);
NameDynAnyPairSeq get_members_as_dyn_any();
void set_members_as_dyn_any(in NameDynAnyPairSeq value)
raises(TypeMismatch, InvalidValue);
};
local interface DynUnion : DynAny {
DynAny get_discriminator();
void set_discriminator(in DynAny d)
raises(TypeMismatch);
void set_to_default_member()
raises(TypeMismatch);
void set_to_no_active_member()
raises(TypeMismatch);
boolean has_no_active_member();
CORBA::TCKind discriminator_kind();
DynAny member()
raises(InvalidValue);
FieldName member_name()
raises(InvalidValue);
CORBA::TCKind member_kind()
raises(InvalidValue);
};
typedef sequence<any> AnySeq;
typedef sequence<DynAny> DynAnySeq;
local interface DynSequence : DynAny {
unsigned long get_length();
void set_length(in unsigned long len)
raises(InvalidValue);
AnySeq get_elements();
void set_elements(in AnySeq value)
raises(TypeMismatch, InvalidValue);
DynAnySeq get_elements_as_dyn_any();
void set_elements_as_dyn_any(in DynAnySeq value)
raises(TypeMismatch, InvalidValue);
};
local interface DynArray : DynAny {
AnySeq get_elements();
void set_elements(in AnySeq value)
raises(TypeMismatch, InvalidValue);
DynAnySeq get_elements_as_dyn_any();
void set_elements_as_dyn_any(in DynAnySeq value)
raises(TypeMismatch, InvalidValue);
};
local interface DynValueCommon : DynAny {
boolean is_null();
void set_to_null();
void set_to_value();
};
local interface DynValue : DynValueCommon {
FieldName current_member_name()
raises(TypeMismatch, InvalidValue);
CORBA::TCKind current_member_kind()
raises(TypeMismatch, InvalidValue);
NameValuePairSeq get_members()
raises(InvalidValue);
void set_members(in NameValuePairSeq value)
raises(TypeMismatch, InvalidValue);
NameDynAnyPairSeq get_members_as_dyn_any()
raises(InvalidValue);
void set_members_as_dyn_any(in NameDynAnyPairSeq value)
raises(TypeMismatch, InvalidValue);
};
local interface DynValueBox : DynValueCommon {
any get_boxed_value()
raises(InvalidValue);
void set_boxed_value(in any boxed)
raises(TypeMismatch, InvalidValue);
DynAny get_boxed_value_as_dyn_any()
raises(InvalidValue);
void set_boxed_value_as_dyn_any(in DynAny boxed)
raises(TypeMismatch);
};
exception MustTruncate { };
local interface DynAnyFactory {
exception InconsistentTypeCode {};
DynAny create_dyn_any(in any value)
raises(InconsistentTypeCode);
DynAny create_dyn_any_from_type_code(in CORBA::TypeCode type)
raises(InconsistentTypeCode);
DynAny create_dyn_any_without_truncation(in any value)
raises(InconsistentTypeCode, MustTruncate);
DynAnySeq create_multiple_dyn_anys(
in AnySeq values,
in boolean allow_truncate)
raises(InconsistentTypeCode, MustTruncate);
AnySeq create_multiple_anys(in DynAnySeq values);
};
}; // module DynamicAny
#endif // _DYNAMIC_ANY_IDL_