00001 /***************************************************************************** 00002 * Copyright (C) 2011 by Benjamin Hadorn (b_hadorn@bluewin.ch) 00003 ***************************************************************************** 00004 * Project : Zeus Base Library 00005 * Module : IXMemberVariable 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 IXMemberVariableHPP 00035 #define IXMemberVariableHPP 00036 00037 #include <zeusbase/System/Interfaces/IZUnknown.hpp> 00038 #include <zeusbase/System/Interfaces/IString.hpp> 00039 #include <zeusbase/System/Interfaces/IStringList.hpp> 00040 00041 BEGIN_NAMESPACE_Zeus 00042 00043 //Forward declarations 00044 class IXMLNode; 00045 class IXPathResults; 00046 class IZVariant; 00047 00048 // {4975C3B4-7B4A-4252-BD13-5F11B2ABCD47} 00049 #define INTERFACE_IXMemberVariable TIID(0x4975C3B4, 0x7B4A, 0x4252, 0xBD, 0x13, 0x5F, 0x11, 0xB2, 0xAB, 0xCD, 0x47) 00050 00051 /*****************************************************************************/ 00054 /*****************************************************************************/ 00055 class IXMemberVariable : public IZUnknown 00056 { 00057 HIDE_ASSIGNMENT_OPERATOR(IXMemberVariable) 00058 00059 public: 00060 /*************************************************************************/ 00063 /*************************************************************************/ 00064 enum EVariableType 00065 { 00066 etXMLNode = 0, 00067 etInt = 1, 00068 etUint = 2, 00069 etFloat = 3, 00070 etBoolean = 4, 00071 etString = 5, 00072 etObjectRef = 6, 00073 etList = 7, 00074 }; 00075 00076 /*************************************************************************/ 00079 /*************************************************************************/ 00080 virtual EVariableType MQUALIFIER getMemberType() const = 0; 00081 00082 /*************************************************************************/ 00086 /*************************************************************************/ 00087 virtual void MQUALIFIER getName(IString& rstrName) const = 0; 00088 00089 /*************************************************************************/ 00095 /*************************************************************************/ 00096 virtual Retval MQUALIFIER getString(IString& rstrValue) const = 0; 00097 00098 /*************************************************************************/ 00104 /*************************************************************************/ 00105 virtual Retval MQUALIFIER getValue(IZVariant& rValue) const = 0; 00106 00107 /*************************************************************************/ 00113 /*************************************************************************/ 00114 virtual Retval MQUALIFIER getXMLNode(IXMLNode*& rpValue) const = 0; 00115 00116 /*************************************************************************/ 00122 /*************************************************************************/ 00123 virtual Retval MQUALIFIER setString(const IString& rstrValue) = 0; 00124 00125 /*************************************************************************/ 00131 /*************************************************************************/ 00132 virtual Retval MQUALIFIER setValue(const IZVariant& rValue) = 0; 00133 00134 /*************************************************************************/ 00140 /*************************************************************************/ 00141 virtual Retval MQUALIFIER getListItems(IXPathResults*& rpList) const = 0; 00142 00143 /*************************************************************************/ 00151 /*************************************************************************/ 00152 virtual Retval MQUALIFIER getListItem(Int iIndex, IXMLNode*& rpItem) const = 0; 00153 00154 /*************************************************************************/ 00161 /*************************************************************************/ 00162 virtual Retval MQUALIFIER addListItem(IXMLNode*& rpItem) = 0; 00163 00164 /*************************************************************************/ 00175 /*************************************************************************/ 00176 virtual Retval MQUALIFIER insertListItem(Int iIndex, IXMLNode*& rpItem) = 0; 00177 00178 /*************************************************************************/ 00184 /*************************************************************************/ 00185 virtual Retval MQUALIFIER deleteListItem(Int iIndex) = 0; 00186 00187 }; 00188 00189 END_NAMESPACE_Zeus 00190 00191 #endif //define IXMemberVariableHPP