/** * @file DynamicAny.pidl * * $Id$ * * @brief Pre-compiled IDL source for the DynamicAny module. * * This file is used to generate the code in DynamicAnyC.{h,i,cpp}, it * was obtained from the OMG website as part of the full CORBA IDL, * the document reference number is: formal/00-04-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) 2000, OMG. * * We performed some modifications to the file, mainly to use local * interfaces (part of what is coming in CORBA 3.0) * * The command used to generate code from this file is: * * tao_idl \ * -o orig -Gp -Gd -Ge 1 -Sa -Sc -St -GT -I../.. \ * -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: * * patch < diffs/DynamicAny.diff * * Note: The diffs are generated using: * * for i in DynamicAnyC.{h,i,cpp}; do * diff -wbu orig/$i $i > diffs/DynamicAny.diff * done * */ #ifndef _DYNAMIC_ANY_IDL_ #define _DYNAMIC_ANY_IDL_ #pragma prefix "omg.org" #include module DynamicAny { 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); }; 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 NameValuePairSeq; struct NameDynAnyPair { FieldName id; DynAny value; }; typedef sequence 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 AnySeq; typedef sequence 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 DynValue : 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 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); }; }; // module DynamicAny #endif // _DYNAMIC_ANY_IDL_