blob: 8ad347469c813d049c2808588cd70dce3d6f60e3 [file] [log] [blame]
// IDL
// File: DynamicAny.idl
#ifndef _DYNAMIC_ANY_IDL
#define _DYNAMIC_ANY_IDL
#pragma prefix "omg.org"
#include <orb.idl>
module DynamicAny
{
// Dynamic Management of Anys
interface DynAny {
exception InvalidValue { };
exception TypeMismatch { };
CORBA::TypeCode type();
void assign(in DynAny dyn_any) raises (TypeMismatch);
void from_any(in any value ) raises (InvalidValue, TypeMismatch);
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);
// not yet supported by the Java language mapping:
// 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);
// not yet supported by the Java language mapping
// 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);
};
interface DynFixed : DynAny {
string get_value();
void set_value( in string val )
raises (TypeMismatch, InvalidValue );
};
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 ;
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);
CORBA::TCKind member_kind()
raises (InvalidValue);
FieldName member_name()
raises (InvalidValue );
};
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 );
};
typedef sequence<any> AnySeq;
typedef sequence<DynAny> DynAnySeq;
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 );
};
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 );
};
interface DynValue
{
//
};
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);
};
};
#endif // _DYNAMIC_ANY_IDL