DynamicAny.pidl

Go to the documentation of this file.
00001 // -*- IDL -*-
00002 
00003 /**
00004  * @file DynamicAny.pidl
00005  *
00006  * $Id: DynamicAny.pidl 74504 2006-09-22 21:34:36Z parsons $
00007  *
00008  * @brief IDL source for the DynamicAny module.
00009  *
00010  * This file is used to generate the code in DynamicAnyC.{h,cpp}, it
00011  * was obtained from the OMG website as part of the full CORBA IDL,
00012  * the document reference number is: formal/04-03-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) 2004, OMG.
00018  *
00019  */
00020 
00021 #ifndef _DYNAMIC_ANY_IDL_
00022 #define _DYNAMIC_ANY_IDL_
00023 
00024 #include "tao/Typecode_types.pidl"
00025 #include "tao/BooleanSeq.pidl"
00026 #include "tao/CharSeq.pidl"
00027 #include "tao/DoubleSeq.pidl"
00028 #include "tao/FloatSeq.pidl"
00029 #include "tao/LongDoubleSeq.pidl"
00030 #include "tao/LongLongSeq.pidl"
00031 #include "tao/LongSeq.pidl"
00032 #include "tao/OctetSeq.pidl"
00033 #include "tao/BooleanSeq.pidl"
00034 #include "tao/ShortSeq.pidl"
00035 #include "tao/ULongLongSeq.pidl"
00036 #include "tao/ULongSeq.pidl"
00037 #include "tao/UShortSeq.pidl"
00038 #include "tao/WCharSeq.pidl"
00039 
00040 module DynamicAny
00041 {
00042   typeprefix DynamicAny "omg.org";
00043 
00044   local interface DynAny
00045   {
00046     exception InvalidValue {};
00047     exception TypeMismatch {};
00048 
00049     CORBA::TypeCode type ();
00050 
00051     void assign (in DynAny dyn_any)
00052       raises (TypeMismatch);
00053       
00054     void from_any (in any value)
00055       raises (TypeMismatch, InvalidValue);
00056       
00057     any to_any ();
00058     
00059     boolean equal (in DynAny dyn_any);
00060     
00061     void destroy ();
00062     
00063     DynAny copy ();
00064     
00065     void insert_boolean (in boolean value)
00066       raises (TypeMismatch, InvalidValue);
00067     void insert_octet (in octet value)
00068       raises (TypeMismatch, InvalidValue);
00069     void insert_char (in char value)
00070       raises (TypeMismatch, InvalidValue);
00071     void insert_short (in short value)
00072       raises (TypeMismatch, InvalidValue);
00073     void insert_ushort (in unsigned short value)
00074       raises (TypeMismatch, InvalidValue);
00075     void insert_long (in long value)
00076       raises (TypeMismatch, InvalidValue);
00077     void insert_ulong (in unsigned long value)
00078       raises (TypeMismatch, InvalidValue);
00079     void insert_float (in float value)
00080       raises (TypeMismatch, InvalidValue);
00081     void insert_double (in double value)
00082       raises (TypeMismatch, InvalidValue);
00083     void insert_string (in string value)
00084       raises (TypeMismatch, InvalidValue);
00085     void insert_reference (in Object value)
00086       raises (TypeMismatch, InvalidValue);
00087     void insert_typecode (in CORBA::TypeCode value)
00088       raises (TypeMismatch, InvalidValue);
00089     void insert_longlong (in long long value)
00090       raises (TypeMismatch, InvalidValue);
00091     void insert_ulonglong (in unsigned long long value)
00092       raises (TypeMismatch, InvalidValue);
00093     void insert_longdouble (in long double value)
00094       raises (TypeMismatch, InvalidValue);
00095     void insert_wchar (in wchar value)
00096       raises (TypeMismatch, InvalidValue);
00097     void insert_wstring (in wstring value)
00098       raises (TypeMismatch, InvalidValue);
00099     void insert_any (in any value)
00100       raises (TypeMismatch, InvalidValue);
00101     void insert_dyn_any (in DynAny value)
00102       raises (TypeMismatch, InvalidValue);
00103     void insert_val (in ValueBase value)
00104       raises (TypeMismatch, InvalidValue);
00105 
00106     boolean get_boolean ()
00107       raises (TypeMismatch, InvalidValue);
00108     octet get_octet ()
00109       raises (TypeMismatch, InvalidValue);
00110     char get_char ()
00111       raises (TypeMismatch, InvalidValue);
00112     short get_short ()
00113       raises (TypeMismatch, InvalidValue);
00114     unsigned short get_ushort ()
00115       raises (TypeMismatch, InvalidValue);
00116     long get_long ()
00117       raises (TypeMismatch, InvalidValue);
00118     unsigned long get_ulong ()
00119       raises (TypeMismatch, InvalidValue);
00120     float get_float ()
00121       raises (TypeMismatch, InvalidValue);
00122     double get_double ()
00123       raises (TypeMismatch, InvalidValue);
00124     string get_string ()
00125       raises (TypeMismatch, InvalidValue);
00126     Object get_reference ()
00127       raises (TypeMismatch, InvalidValue);
00128     CORBA::TypeCode get_typecode ()
00129       raises (TypeMismatch, InvalidValue);
00130     long long get_longlong ()
00131       raises (TypeMismatch, InvalidValue);
00132     unsigned long long get_ulonglong ()
00133       raises (TypeMismatch, InvalidValue);
00134     long double get_longdouble ()
00135       raises (TypeMismatch, InvalidValue);
00136     wchar get_wchar ()
00137       raises (TypeMismatch, InvalidValue);
00138     wstring get_wstring ()
00139       raises (TypeMismatch, InvalidValue);
00140     any get_any ()
00141       raises (TypeMismatch, InvalidValue);
00142     DynAny get_dyn_any ()
00143       raises (TypeMismatch, InvalidValue);
00144     ValueBase get_val ()
00145       raises (TypeMismatch, InvalidValue);
00146 
00147     boolean seek (in long index);
00148     
00149     void rewind ();
00150     
00151     boolean next ();
00152     
00153     unsigned long component_count ();
00154     
00155     DynAny current_component ()
00156       raises (TypeMismatch);
00157     
00158     void insert_abstract (in CORBA::AbstractBase value)
00159       raises (TypeMismatch, InvalidValue);
00160       
00161     CORBA::AbstractBase get_abstract ()
00162       raises (TypeMismatch, InvalidValue);
00163 
00164     void insert_boolean_seq (in CORBA::BooleanSeq value)
00165       raises (TypeMismatch, InvalidValue);
00166     void insert_octet_seq (in CORBA::OctetSeq value)
00167       raises (TypeMismatch, InvalidValue);
00168     void insert_char_seq (in CORBA::CharSeq value)
00169       raises (TypeMismatch, InvalidValue);
00170     void insert_short_seq (in CORBA::ShortSeq value)
00171       raises (TypeMismatch, InvalidValue);
00172     void insert_ushort_seq (in CORBA::UShortSeq value)
00173       raises (TypeMismatch, InvalidValue);
00174     void insert_long_seq (in CORBA::LongSeq value)
00175       raises (TypeMismatch, InvalidValue);
00176     void insert_ulong_seq (in CORBA::ULongSeq value)
00177       raises (TypeMismatch, InvalidValue);
00178     void insert_float_seq (in CORBA::FloatSeq value)
00179       raises (TypeMismatch, InvalidValue);
00180     void insert_double_seq (in CORBA::DoubleSeq value)
00181       raises (TypeMismatch, InvalidValue);  
00182     void insert_longlong_seq (in CORBA::LongLongSeq value)
00183       raises (TypeMismatch, InvalidValue);
00184     void insert_ulonglong_seq (in CORBA::ULongLongSeq value)
00185       raises (TypeMismatch, InvalidValue);
00186     void insert_longdouble_seq (in CORBA::LongDoubleSeq value)
00187       raises (TypeMismatch, InvalidValue);
00188     void insert_wchar_seq (in CORBA::WCharSeq value)
00189       raises (TypeMismatch, InvalidValue);
00190       
00191     CORBA::BooleanSeq get_boolean_seq ()
00192       raises (TypeMismatch, InvalidValue);
00193     CORBA::OctetSeq get_octet_seq()
00194       raises (TypeMismatch, InvalidValue);
00195     CORBA::CharSeq get_char_seq ()
00196       raises (TypeMismatch, InvalidValue);
00197     CORBA::ShortSeq get_short_seq ()
00198       raises (TypeMismatch, InvalidValue);
00199     CORBA::UShortSeq get_ushort_seq ()
00200       raises (TypeMismatch, InvalidValue);
00201     CORBA::LongSeq get_long_seq ()
00202       raises (TypeMismatch, InvalidValue);
00203     CORBA::ULongSeq get_ulong_seq ()
00204       raises (TypeMismatch, InvalidValue);
00205     CORBA::FloatSeq get_float_seq ()
00206       raises (TypeMismatch, InvalidValue);
00207     CORBA::DoubleSeq get_double_seq ()
00208       raises (TypeMismatch, InvalidValue);
00209     CORBA::LongLongSeq get_longlong_seq ()
00210       raises (TypeMismatch, InvalidValue);
00211     CORBA::ULongLongSeq get_ulonglong_seq ()
00212       raises (TypeMismatch, InvalidValue);
00213     CORBA::LongDoubleSeq get_longdouble_seq ()
00214       raises (TypeMismatch, InvalidValue);
00215     CORBA::WCharSeq get_wchar_seq ()
00216       raises (TypeMismatch, InvalidValue);
00217   };
00218 
00219   local interface DynFixed : DynAny
00220   {
00221     string get_value ();
00222     
00223     boolean set_value (in string val)
00224       raises (TypeMismatch, InvalidValue);
00225   };
00226 
00227   local interface DynEnum : DynAny
00228   {
00229     string get_as_string ();
00230     
00231     void set_as_string (in string value)
00232       raises (InvalidValue);
00233       
00234     unsigned long get_as_ulong ();
00235     
00236     void set_as_ulong (in unsigned long value)
00237       raises (InvalidValue);
00238   };
00239   
00240   typedef string FieldName;
00241   
00242   struct NameValuePair
00243   {
00244     FieldName id;
00245     any value;
00246   };
00247 
00248   typedef sequence<NameValuePair> NameValuePairSeq;
00249   
00250   struct NameDynAnyPair
00251   {
00252     FieldName id;
00253     DynAny value;
00254   };
00255 
00256   typedef sequence<NameDynAnyPair> NameDynAnyPairSeq;
00257   
00258   local interface DynStruct : DynAny
00259   {
00260     FieldName current_member_name ()
00261       raises (TypeMismatch, InvalidValue);
00262       
00263     CORBA::TCKind current_member_kind ()
00264       raises (TypeMismatch, InvalidValue);
00265       
00266     NameValuePairSeq get_members ();
00267     
00268     void set_members (in NameValuePairSeq value)
00269       raises (TypeMismatch, InvalidValue);
00270       
00271     NameDynAnyPairSeq get_members_as_dyn_any ();
00272     
00273     void set_members_as_dyn_any (in NameDynAnyPairSeq value)
00274       raises (TypeMismatch, InvalidValue);
00275   };
00276 
00277   local interface DynUnion : DynAny
00278   {
00279     DynAny get_discriminator ();
00280     
00281     void set_discriminator (in DynAny d)
00282       raises (TypeMismatch);
00283     
00284     void set_to_default_member ()
00285       raises (TypeMismatch);
00286       
00287     void set_to_no_active_member ()
00288       raises (TypeMismatch);
00289       
00290     boolean has_no_active_member ();
00291     
00292     CORBA::TCKind discriminator_kind ();
00293     
00294     DynAny member () raises (InvalidValue);
00295     
00296     FieldName member_name ()
00297       raises (InvalidValue);
00298       
00299     CORBA::TCKind member_kind ()
00300       raises (InvalidValue);
00301   };
00302 
00303   typedef sequence<any> AnySeq;
00304   typedef sequence<DynAny> DynAnySeq;
00305   
00306   local interface DynSequence : DynAny
00307   {
00308     unsigned long get_length ();
00309     
00310     void set_length (in unsigned long len)
00311       raises (InvalidValue);
00312       
00313     AnySeq get_elements ();
00314     
00315     void set_elements (in AnySeq value)
00316       raises (TypeMismatch, InvalidValue);
00317       
00318     DynAnySeq get_elements_as_dyn_any ();
00319     
00320     void set_elements_as_dyn_any (in DynAnySeq value)
00321       raises (TypeMismatch, InvalidValue);
00322   };
00323 
00324   local interface DynArray : DynAny
00325   {
00326     AnySeq get_elements ();
00327     
00328     void set_elements (in AnySeq value)
00329       raises (TypeMismatch, InvalidValue);
00330       
00331     DynAnySeq get_elements_as_dyn_any ();
00332     
00333     void set_elements_as_dyn_any (in DynAnySeq value)
00334       raises (TypeMismatch, InvalidValue);
00335   };
00336 
00337   local interface DynValueCommon : DynAny
00338   {
00339     boolean is_null ();
00340     
00341     void set_to_null ();
00342     
00343     void set_to_value ();
00344   };
00345 
00346   local interface DynValue : DynValueCommon
00347   {
00348     FieldName current_member_name ()
00349       raises (TypeMismatch, InvalidValue);
00350       
00351     CORBA::TCKind current_member_kind ()
00352       raises (TypeMismatch, InvalidValue);
00353       
00354     NameValuePairSeq get_members ();
00355     
00356     void set_members (in NameValuePairSeq value)
00357       raises (TypeMismatch, InvalidValue);
00358       
00359     NameDynAnyPairSeq get_members_as_dyn_any ();
00360     
00361     void set_members_as_dyn_any (in NameDynAnyPairSeq value)
00362       raises (TypeMismatch, InvalidValue);
00363   };
00364 
00365   local interface DynValueBox : DynValueCommon
00366   {
00367     any get_boxed_value ()
00368       raises (InvalidValue);
00369       
00370     void set_boxed_value (in any boxed)
00371       raises (TypeMismatch, InvalidValue);
00372       
00373     DynAny get_boxed_value_as_dyn_any ()
00374       raises (InvalidValue);
00375       
00376     void set_boxed_value_as_dyn_any (in DynAny boxed)
00377       raises (TypeMismatch);
00378   };
00379   
00380   exception MustTruncate {};
00381 
00382   local interface DynAnyFactory
00383   {
00384     exception InconsistentTypeCode {};
00385     
00386     DynAny create_dyn_any (in any value)
00387       raises (InconsistentTypeCode);
00388     DynAny create_dyn_any_from_type_code (in CORBA::TypeCode type)
00389       raises (InconsistentTypeCode);
00390       
00391     DynAny create_dyn_any_without_truncation (in any value)
00392       raises (InconsistentTypeCode, MustTruncate);
00393       
00394     DynAnySeq create_multiple_dyn_anys (in AnySeq values,
00395                                         in boolean allow_truncate)
00396       raises (InconsistentTypeCode, MustTruncate);
00397       
00398     AnySeq create_multiple_anys (in DynAnySeq values);
00399   };
00400 }; // module DynamicAny
00401 
00402 #endif // _DYNAMIC_ANY_IDL_

Generated on Sun Jan 27 13:36:28 2008 for TAO_DynamicAny by doxygen 1.3.6