DynamicAny.pidl

Go to the documentation of this file.
00001 // -*- IDL -*-
00002 
00003 /**
00004  * @file DynamicAny.pidl
00005  *
00006  * DynamicAny.pidl,v 1.14 2006/05/09 07:32:53 jwillemsen Exp
00007  *
00008  * @brief Pre-compiled IDL source for the DynamicAny module.
00009  *
00010  * This file is used to generate the code in DynamicAnyC.{h,i,cpp}, it
00011  * was obtained from the OMG website as part of the full CORBA IDL,
00012  * the document reference number is: formal/00-04-01, or use the
00013  * following URL:
00014  * http://www.omg.org/technology/documents/formal/corba_omg_idl_text_file.htm
00015  *
00016  * We couldn't find a copyright notice in the document, but it is safe
00017  * to assume that it is Copyright (C) 2000, OMG.
00018  *
00019  * We performed some modifications to the file, mainly to use local
00020  * interfaces (part of what is coming in CORBA 3.0)
00021  *
00022  * The command used to generate code from this file is:
00023  *
00024  * tao_idl \
00025  *  -o orig -Gp -Sci -Gd -Ge 1 -Sa -St -I../.. \
00026  *          -Wb,export_macro=TAO_DynamicAny_Export \
00027  *          -Wb,export_include=dynamicany_export.h \
00028  *          -Wb,pre_include="ace/pre.h" \
00029  *          -Wb,post_include="ace/post.h" \
00030  *          -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL \
00031  *          -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL \
00032  *          DynamicAny.pidl
00033  *
00034  * after the file is generated a patch must be applied.  The patch
00035  * fixes some problems with interceptors and local interfaces and
00036  * disables parts of the code under certain configurations.
00037  *
00038  * Apply patches using:
00039  *
00040  *   patch < diffs/DynamicAny.diff
00041  *
00042  * Note: The diffs are generated using:
00043  *
00044  *   for i in DynamicAnyC.{h,cpp}; do
00045  *     diff -wbu orig/$i $i > diffs/DynamicAny.diff
00046  *   done
00047  *
00048  */
00049 
00050 #ifndef _DYNAMIC_ANY_IDL_
00051 #define _DYNAMIC_ANY_IDL_
00052 
00053 #pragma prefix "omg.org"
00054 
00055 #include "tao/Typecode_types.pidl"
00056 
00057 module DynamicAny {
00058 
00059     local interface DynAny {
00060         exception InvalidValue {};
00061         exception TypeMismatch {};
00062 
00063         CORBA::TypeCode type();
00064 
00065         void assign(        in DynAny   dyn_any)    raises(TypeMismatch);
00066         void from_any(      in any      value)      raises(TypeMismatch, InvalidValue);
00067         any to_any();
00068 
00069         boolean equal(      in DynAny   dyn_any);
00070 
00071         void destroy();
00072         DynAny copy();
00073         void insert_boolean(in boolean  value)      raises(TypeMismatch, InvalidValue);
00074         void insert_octet(  in octet    value)      raises(TypeMismatch, InvalidValue);
00075         void insert_char(   in char     value)      raises(TypeMismatch, InvalidValue);
00076         void insert_short(  in short    value)      raises(TypeMismatch, InvalidValue);
00077         void insert_ushort( in unsigned short
00078                                         value)      raises(TypeMismatch, InvalidValue);
00079         void insert_long(   in long     value)      raises(TypeMismatch, InvalidValue);
00080         void insert_ulong(  in unsigned long
00081                                         value)      raises(TypeMismatch, InvalidValue);
00082         void insert_float(  in float    value)      raises(TypeMismatch, InvalidValue);
00083         void insert_double( in double   value)      raises(TypeMismatch, InvalidValue);
00084         void insert_string( in string   value)      raises(TypeMismatch, InvalidValue);
00085         void insert_reference(in Object value)      raises(TypeMismatch, InvalidValue);
00086         void insert_typecode(in CORBA::TypeCode
00087                                         value)      raises(TypeMismatch, InvalidValue);
00088         void insert_longlong(in long long value)    raises(TypeMismatch, InvalidValue);
00089         void insert_ulonglong(in unsigned long long
00090                                         value)      raises(TypeMismatch, InvalidValue);
00091         void insert_longdouble(in long double
00092                                         value)      raises(TypeMismatch, InvalidValue);
00093         void insert_wchar(  in wchar    value)      raises(TypeMismatch, InvalidValue);
00094         void insert_wstring(in wstring  value)      raises(TypeMismatch, InvalidValue);
00095         void insert_any(    in any      value)      raises(TypeMismatch, InvalidValue);
00096         void insert_dyn_any(in DynAny   value)      raises(TypeMismatch, InvalidValue);
00097         void insert_val(    in ValueBase value)     raises(TypeMismatch, InvalidValue);
00098 
00099         boolean         get_boolean()               raises(TypeMismatch, InvalidValue);
00100         octet           get_octet()                 raises(TypeMismatch, InvalidValue);
00101         char            get_char()                  raises(TypeMismatch, InvalidValue);
00102         short           get_short()                 raises(TypeMismatch, InvalidValue);
00103         unsigned short  get_ushort()                raises(TypeMismatch, InvalidValue);
00104         long            get_long()                  raises(TypeMismatch, InvalidValue);
00105         unsigned long   get_ulong()                 raises(TypeMismatch, InvalidValue);
00106         float           get_float()                 raises(TypeMismatch, InvalidValue);
00107         double          get_double()                raises(TypeMismatch, InvalidValue);
00108         string          get_string()                raises(TypeMismatch, InvalidValue);
00109         Object          get_reference()             raises(TypeMismatch, InvalidValue);
00110         CORBA::TypeCode get_typecode()              raises(TypeMismatch, InvalidValue);
00111         long long       get_longlong()              raises(TypeMismatch, InvalidValue);
00112         unsigned long long get_ulonglong()          raises(TypeMismatch, InvalidValue);
00113         long double     get_longdouble()            raises(TypeMismatch, InvalidValue);
00114         wchar           get_wchar()                 raises(TypeMismatch, InvalidValue);
00115         wstring         get_wstring()               raises(TypeMismatch, InvalidValue);
00116         any             get_any()                   raises(TypeMismatch, InvalidValue);
00117         DynAny          get_dyn_any()               raises(TypeMismatch, InvalidValue);
00118         ValueBase       get_val()                   raises(TypeMismatch, InvalidValue);
00119 
00120         boolean         seek(in long index);
00121         void            rewind();
00122         boolean         next();
00123         unsigned long   component_count();
00124         DynAny          current_component()         raises(TypeMismatch);
00125     };
00126 
00127     local interface DynFixed : DynAny {
00128         string          get_value();
00129         boolean         set_value(in string val)    raises(TypeMismatch, InvalidValue);
00130     };
00131 
00132     local interface DynEnum : DynAny {
00133         string          get_as_string();
00134         void            set_as_string(in string value)
00135                                                     raises(InvalidValue);
00136         unsigned long   get_as_ulong();
00137         void            set_as_ulong( in unsigned long value)
00138                                                     raises(InvalidValue);
00139     };
00140     typedef string FieldName;
00141     struct NameValuePair {
00142         FieldName   id;
00143         any         value;
00144     };
00145 
00146     typedef sequence<NameValuePair> NameValuePairSeq;
00147     struct NameDynAnyPair {
00148         FieldName   id;
00149         DynAny      value;
00150     };
00151 
00152     typedef sequence<NameDynAnyPair> NameDynAnyPairSeq;
00153     local interface DynStruct : DynAny {
00154         FieldName           current_member_name()   raises(TypeMismatch, InvalidValue);
00155         CORBA::TCKind       current_member_kind()   raises(TypeMismatch, InvalidValue);
00156         NameValuePairSeq    get_members();
00157         void                set_members(in NameValuePairSeq value)
00158                                                     raises(TypeMismatch, InvalidValue);
00159         NameDynAnyPairSeq   get_members_as_dyn_any();
00160         void                set_members_as_dyn_any(in NameDynAnyPairSeq value)
00161                                                     raises(TypeMismatch, InvalidValue);
00162     };
00163 
00164     local interface DynUnion : DynAny {
00165         DynAny              get_discriminator();
00166         void                set_discriminator(in DynAny d)
00167                                                     raises(TypeMismatch);
00168         void                set_to_default_member() raises(TypeMismatch);
00169         void                set_to_no_active_member() raises(TypeMismatch);
00170         boolean             has_no_active_member();
00171         CORBA::TCKind       discriminator_kind();
00172         DynAny              member()                raises(InvalidValue);
00173         FieldName           member_name()           raises(InvalidValue);
00174         CORBA::TCKind       member_kind()           raises(InvalidValue);
00175     };
00176 
00177     typedef sequence<any>    AnySeq;
00178     typedef sequence<DynAny> DynAnySeq;
00179     local interface DynSequence : DynAny {
00180         unsigned long       get_length();
00181         void                set_length(in unsigned long len)
00182                                                     raises(InvalidValue);
00183         AnySeq              get_elements();
00184         void                set_elements(in AnySeq value)
00185                                                     raises(TypeMismatch, InvalidValue);
00186         DynAnySeq           get_elements_as_dyn_any();
00187         void                set_elements_as_dyn_any(in DynAnySeq value)
00188                                                     raises(TypeMismatch, InvalidValue);
00189     };
00190 
00191     local interface DynArray : DynAny {
00192         AnySeq              get_elements();
00193         void                set_elements(in AnySeq value)
00194                                                     raises(TypeMismatch, InvalidValue);
00195         DynAnySeq           get_elements_as_dyn_any();
00196         void                set_elements_as_dyn_any(in DynAnySeq value)
00197                                                     raises(TypeMismatch, InvalidValue);
00198     };
00199 
00200     local interface DynValue : DynAny {
00201         FieldName           current_member_name()   raises(TypeMismatch, InvalidValue);
00202         CORBA::TCKind       current_member_kind()   raises(TypeMismatch, InvalidValue);
00203         NameValuePairSeq    get_members();
00204         void                set_members(in NameValuePairSeq value)
00205                                                     raises(TypeMismatch, InvalidValue);
00206         NameDynAnyPairSeq   get_members_as_dyn_any();
00207         void                set_members_as_dyn_any(in NameDynAnyPairSeq value)
00208                                                     raises(TypeMismatch, InvalidValue);
00209     };
00210 
00211     local interface DynAnyFactory {
00212         exception           InconsistentTypeCode {};
00213         DynAny              create_dyn_any(in any value)
00214                                                     raises(InconsistentTypeCode);
00215         DynAny              create_dyn_any_from_type_code(in CORBA::TypeCode type)
00216                                                     raises(InconsistentTypeCode);
00217     };
00218 
00219 }; // module DynamicAny
00220 
00221 #endif // _DYNAMIC_ANY_IDL_

Generated on Thu Nov 9 13:02:07 2006 for TAO_DynamicAny by doxygen 1.3.6