00001 /***************************************************************************** 00002 * Copyright (C) 2011 by Benjamin Hadorn (b_hadorn@bluewin.ch) 00003 ***************************************************************************** 00004 * Project : Zeus Base Library 00005 * Module : IZVariant 00006 * Package : Zeus.ZeusBase.System.Interfaces 00007 * Author : Benjamin Hadorn 00008 * Date : 24.10.2011 00009 * System : Zeus-Framework 00010 ***************************************************************************** 00011 * Licence: * 00012 * This library is free software; you can redistribute it and/or modify * 00013 * it under the terms of the GNU Lesser General Public License as * 00014 * published by the Free Software Foundation; either version * 00015 * 2.1 of the License, or (at your option) any later version. * 00016 * * 00017 * This library is distributed in the hope that it will be useful, * 00018 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00019 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00020 * GNU Lesser General Public License for more details. * 00021 * * 00022 * You should have received a copy of the GNU Lesser General Public * 00023 * License along with this library; if not, write to the Free Software * 00024 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA * 00025 *****************************************************************************/ 00026 00027 00028 /*************************************************************************** 00029 GENERATED : xIDL COMPILER 1.0 00030 DATE : 2012-01-16 18:50:28 00031 CAUTION : Don't change the file manualy. Change xidl file instead. 00032 ***************************************************************************/ 00033 00034 #ifndef IZVariantHPP 00035 #define IZVariantHPP 00036 00037 #include <zeusbase/System/Interfaces/ISerializable.hpp> 00038 #include <zeusbase/System/Interfaces/IZUnknown.hpp> 00039 #include <zeusbase/System/Interfaces/IString.hpp> 00040 #include <zeusbase/System/Interfaces/IList.hpp> 00041 00042 BEGIN_NAMESPACE_Zeus 00043 00044 //Type definitions 00045 typedef IList<ISerializable*> ISerializableList; 00046 00047 // {95C94F60-BFA6-43b4-B579-5F78118FE9EC} 00048 #define INTERFACE_IZVariant TIID(0x95C94F60, 0xBFA6, 0x43b4, 0xB5, 0x79, 0x5F, 0x78, 0x11, 0x8F, 0xE9, 0xEC) 00049 00050 /*****************************************************************************/ 00056 /*****************************************************************************/ 00057 class IZVariant : public ISerializable 00058 { 00059 HIDE_ASSIGNMENT_OPERATOR(IZVariant) 00060 00061 public: 00062 /*************************************************************************/ 00065 /*************************************************************************/ 00066 enum EZVariantType 00067 { 00068 etEmpty = 0, 00069 etInt8 = 1, 00070 etInt16 = 2, 00071 etInt32 = 3, 00072 etInt64 = 4, 00073 etFloat32 = 5, 00074 etFloat64 = 6, 00075 etString = 7, 00076 etByteArray = 8, 00077 etObject = 9, 00078 etObjectList = 10, 00079 etUint8 = 11, 00080 etUint16 = 12, 00081 etUint32 = 13, 00082 etUint64 = 14, 00083 }; 00084 00085 /*************************************************************************/ 00089 /*************************************************************************/ 00090 virtual EZVariantType MQUALIFIER getType() const = 0; 00091 00092 /*************************************************************************/ 00096 /*************************************************************************/ 00097 virtual void MQUALIFIER getVariantName(IString& rstrName) const = 0; 00098 00099 /*************************************************************************/ 00105 /*************************************************************************/ 00106 virtual Retval MQUALIFIER getInt8(Int8& ri8Ret) const = 0; 00107 00108 /*************************************************************************/ 00114 /*************************************************************************/ 00115 virtual Retval MQUALIFIER getInt16(Int16& ri16Ret) const = 0; 00116 00117 /*************************************************************************/ 00123 /*************************************************************************/ 00124 virtual Retval MQUALIFIER getInt32(Int32& ri32Ret) const = 0; 00125 00126 /*************************************************************************/ 00132 /*************************************************************************/ 00133 virtual Retval MQUALIFIER getInt64(Int64& ri64Ret) const = 0; 00134 00135 /*************************************************************************/ 00141 /*************************************************************************/ 00142 virtual Retval MQUALIFIER getUint8(Uint8& rui8Ret) const = 0; 00143 00144 /*************************************************************************/ 00150 /*************************************************************************/ 00151 virtual Retval MQUALIFIER getUint16(Uint16& rui16Ret) const = 0; 00152 00153 /*************************************************************************/ 00159 /*************************************************************************/ 00160 virtual Retval MQUALIFIER getUint32(Uint32& rui32Ret) const = 0; 00161 00162 /*************************************************************************/ 00168 /*************************************************************************/ 00169 virtual Retval MQUALIFIER getUint64(Uint64& rui64Ret) const = 0; 00170 00171 /*************************************************************************/ 00177 /*************************************************************************/ 00178 virtual Retval MQUALIFIER getFloat32(Float32& rf32Ret) const = 0; 00179 00180 /*************************************************************************/ 00186 /*************************************************************************/ 00187 virtual Retval MQUALIFIER getFloat64(Float64& rf64Ret) const = 0; 00188 00189 /*************************************************************************/ 00195 /*************************************************************************/ 00196 virtual Retval MQUALIFIER getRetval(Retval& rretRet) const = 0; 00197 00198 /*************************************************************************/ 00204 /*************************************************************************/ 00205 virtual Retval MQUALIFIER getTimeval(Timeval& rtmRet) const = 0; 00206 00207 /*************************************************************************/ 00213 /*************************************************************************/ 00214 virtual Retval MQUALIFIER getString(IString& rstrRet) const = 0; 00215 00216 /*************************************************************************/ 00222 /*************************************************************************/ 00223 virtual Retval MQUALIFIER getByteArray(IByteArray& raRet) const = 0; 00224 00225 /*************************************************************************/ 00231 /*************************************************************************/ 00232 virtual Retval MQUALIFIER getObject(ISerializable*& rpRet) const = 0; 00233 00234 /*************************************************************************/ 00242 /*************************************************************************/ 00243 virtual Retval MQUALIFIER getCastedObject(const InterfaceID& rIfaceID, IZUnknown*& rpRet) const = 0; 00244 00245 /*************************************************************************/ 00251 /*************************************************************************/ 00252 virtual Retval MQUALIFIER getObjectList(ISerializableList& rRet) const = 0; 00253 00254 /*************************************************************************/ 00258 /*************************************************************************/ 00259 virtual void MQUALIFIER setVariantName(const IString& rstrName) = 0; 00260 00261 /*************************************************************************/ 00265 /*************************************************************************/ 00266 virtual void MQUALIFIER setInt8(Int8 i8Val) = 0; 00267 00268 /*************************************************************************/ 00272 /*************************************************************************/ 00273 virtual void MQUALIFIER setInt16(Int16 i16Val) = 0; 00274 00275 /*************************************************************************/ 00279 /*************************************************************************/ 00280 virtual void MQUALIFIER setInt32(Int32 i32Val) = 0; 00281 00282 /*************************************************************************/ 00286 /*************************************************************************/ 00287 virtual void MQUALIFIER setInt64(Int64 i64Val) = 0; 00288 00289 /*************************************************************************/ 00293 /*************************************************************************/ 00294 virtual void MQUALIFIER setUint8(Uint8 ui8Val) = 0; 00295 00296 /*************************************************************************/ 00300 /*************************************************************************/ 00301 virtual void MQUALIFIER setUint16(Uint16 ui16Val) = 0; 00302 00303 /*************************************************************************/ 00307 /*************************************************************************/ 00308 virtual void MQUALIFIER setUint32(Uint32 ui32Val) = 0; 00309 00310 /*************************************************************************/ 00314 /*************************************************************************/ 00315 virtual void MQUALIFIER setUint64(Uint64 ui64Val) = 0; 00316 00317 /*************************************************************************/ 00321 /*************************************************************************/ 00322 virtual void MQUALIFIER setFloat32(Float32 f32Val) = 0; 00323 00324 /*************************************************************************/ 00328 /*************************************************************************/ 00329 virtual void MQUALIFIER setFloat64(Float64 f64Val) = 0; 00330 00331 /*************************************************************************/ 00335 /*************************************************************************/ 00336 virtual void MQUALIFIER setRetval(Retval retVal) = 0; 00337 00338 /*************************************************************************/ 00342 /*************************************************************************/ 00343 virtual void MQUALIFIER setTimeval(Timeval tmVal) = 0; 00344 00345 /*************************************************************************/ 00349 /*************************************************************************/ 00350 virtual void MQUALIFIER setString(const IString& rstrVal) = 0; 00351 00352 /*************************************************************************/ 00356 /*************************************************************************/ 00357 virtual void MQUALIFIER setByteArray(const IByteArray& raVal) = 0; 00358 00359 /*************************************************************************/ 00363 /*************************************************************************/ 00364 virtual void MQUALIFIER setObject(const ISerializable& rVal) = 0; 00365 00366 /*************************************************************************/ 00370 /*************************************************************************/ 00371 virtual void MQUALIFIER setObjectList(const ISerializableList& rVal) = 0; 00372 00373 /*************************************************************************/ 00379 /*************************************************************************/ 00380 virtual Retval MQUALIFIER assign(const IZVariant& rInpar) = 0; 00381 00382 /*************************************************************************/ 00388 /*************************************************************************/ 00389 virtual bool MQUALIFIER equals(const IZVariant& rInpar) const = 0; 00390 00391 /*************************************************************************/ 00400 /*************************************************************************/ 00401 virtual Int MQUALIFIER compareTo(const IZVariant& rInpar) const = 0; 00402 00403 /*************************************************************************/ 00408 /*************************************************************************/ 00409 virtual Int MQUALIFIER toInt(Int iDefault = 0) const = 0; 00410 00411 /*************************************************************************/ 00416 /*************************************************************************/ 00417 virtual Uint MQUALIFIER toUint(Uint uiDefault = 0) const = 0; 00418 00419 /*************************************************************************/ 00424 /*************************************************************************/ 00425 virtual Float MQUALIFIER toFloat(Float fDefault = 0) const = 0; 00426 00427 /*************************************************************************/ 00431 /*************************************************************************/ 00432 virtual void MQUALIFIER toString(IString& rstrValue) const = 0; 00433 00434 }; 00435 00436 END_NAMESPACE_Zeus 00437 00438 #endif //define IZVariantHPP