diff options
Diffstat (limited to 'trunk/TAO/tao/DynamicAny/DynamicAny.pidl')
-rw-r--r-- | trunk/TAO/tao/DynamicAny/DynamicAny.pidl | 402 |
1 files changed, 402 insertions, 0 deletions
diff --git a/trunk/TAO/tao/DynamicAny/DynamicAny.pidl b/trunk/TAO/tao/DynamicAny/DynamicAny.pidl new file mode 100644 index 00000000000..a8d9aaaa243 --- /dev/null +++ b/trunk/TAO/tao/DynamicAny/DynamicAny.pidl @@ -0,0 +1,402 @@ +// -*- IDL -*- + +/** + * @file DynamicAny.pidl + * + * $Id$ + * + * @brief IDL source for the DynamicAny module. + * + * This file is used to generate the code in DynamicAnyC.{h,cpp}, it + * was obtained from the OMG website as part of the full CORBA IDL, + * the document reference number is: formal/04-03-01, or use the + * following URL: + * http://www.omg.org/technology/documents/formal/corba_omg_idl_text_file.htm + * + * We couldn't find a copyright notice in the document, but it is safe + * to assume that it is Copyright (C) 2004, OMG. + * + */ + +#ifndef _DYNAMIC_ANY_IDL_ +#define _DYNAMIC_ANY_IDL_ + +#include "tao/Typecode_types.pidl" +#include "tao/BooleanSeq.pidl" +#include "tao/CharSeq.pidl" +#include "tao/DoubleSeq.pidl" +#include "tao/FloatSeq.pidl" +#include "tao/LongDoubleSeq.pidl" +#include "tao/LongLongSeq.pidl" +#include "tao/LongSeq.pidl" +#include "tao/OctetSeq.pidl" +#include "tao/BooleanSeq.pidl" +#include "tao/ShortSeq.pidl" +#include "tao/ULongLongSeq.pidl" +#include "tao/ULongSeq.pidl" +#include "tao/UShortSeq.pidl" +#include "tao/WCharSeq.pidl" + +module DynamicAny +{ + typeprefix DynamicAny "omg.org"; + + 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 CORBA::AbstractBase value) + raises (TypeMismatch, InvalidValue); + + CORBA::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 (); + + 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 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_ |