00001 /***************************************************************************** 00002 * Copyright (C) 2011 by Benjamin Hadorn (b_hadorn@bluewin.ch) 00003 ***************************************************************************** 00004 * Project : Zeus Base Library 00005 * Module : IXObject 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 IXObjectHPP 00035 #define IXObjectHPP 00036 00037 #include <zeusbase/System/Interfaces/IXMLNode.hpp> 00038 #include <zeusbase/System/Interfaces/IXMLDocument.hpp> 00039 #include <zeusbase/System/Interfaces/IXObjectCollection.hpp> 00040 #include <zeusbase/System/Interfaces/IXMemberVariable.hpp> 00041 #include <zeusbase/System/Interfaces/ICriticalSection.hpp> 00042 #include <zeusbase/System/Interfaces/IZUnknown.hpp> 00043 #include <zeusbase/System/Interfaces/IByteArray.hpp> 00044 #include <zeusbase/System/Interfaces/IString.hpp> 00045 #include <zeusbase/System/Interfaces/IStringList.hpp> 00046 #include <zeusbase/System/Interfaces/IXObjectImplHelper.hpp> 00047 00048 BEGIN_NAMESPACE_Zeus 00049 00050 //Forward declarations 00051 class ISimpleCommand; 00052 class IZVariant; 00053 00054 // {A0F2EF68-C7E8-46cb-993A-B4CF5CBA5EA7} 00055 #define INTERFACE_IXObject TIID(0xA0F2EF68, 0xC7E8, 0x46cb, 0x99, 0x3A, 0xB4, 0xCF, 0x5C, 0xBA, 0x5E, 0xA7) 00056 00057 /*****************************************************************************/ 00063 /*****************************************************************************/ 00064 class IXObject : public IZUnknown 00065 { 00066 HIDE_ASSIGNMENT_OPERATOR(IXObject) 00067 00068 public: 00069 /*************************************************************************/ 00075 /*************************************************************************/ 00076 #ifdef _MSC_VER 00077 typedef Retval (MQUALIFIER *DltCreateXObject)(IXMLNode* pMainNode, IXMLDocument* pDocu, IXObject*& rpObj); 00078 #else 00079 typedef Retval MQUALIFIER (*DltCreateXObject)(IXMLNode* pMainNode, IXMLDocument* pDocu, IXObject*& rpObj); 00080 #endif 00081 00082 /*************************************************************************/ 00086 /*************************************************************************/ 00087 virtual void MQUALIFIER getName(IString& rstrName) const = 0; 00088 00089 /*************************************************************************/ 00093 /*************************************************************************/ 00094 virtual void MQUALIFIER getClassName(IString& rstrName) const = 0; 00095 00096 /*************************************************************************/ 00100 /*************************************************************************/ 00101 virtual Uint MQUALIFIER getID() const = 0; 00102 00103 /*************************************************************************/ 00109 /*************************************************************************/ 00110 virtual Retval MQUALIFIER addChild(IXObject& rChild) = 0; 00111 00112 /*************************************************************************/ 00119 /*************************************************************************/ 00120 virtual Retval MQUALIFIER deleteChild(Int iIndex, bool bDoFreeze = false) = 0; 00121 00122 /*************************************************************************/ 00129 /*************************************************************************/ 00130 virtual Retval MQUALIFIER removeChild(IXObject& rChild, bool bDoFreeze = false) = 0; 00131 00132 /*************************************************************************/ 00136 /*************************************************************************/ 00137 virtual Int MQUALIFIER getChildCount() const = 0; 00138 00139 /*************************************************************************/ 00146 /*************************************************************************/ 00147 virtual Retval MQUALIFIER getChild(Int iIndex, IXObject*& rpChild) = 0; 00148 00149 /*************************************************************************/ 00157 /*************************************************************************/ 00158 virtual Retval MQUALIFIER getChildByName(const IString& rstrName, IXObject*& rpChild) = 0; 00159 00160 /*************************************************************************/ 00169 /*************************************************************************/ 00170 virtual Retval MQUALIFIER getChildrenByName(const IString& rstrName, IXObjectCollection*& rpObjects) = 0; 00171 00172 /*************************************************************************/ 00178 /*************************************************************************/ 00179 virtual Retval MQUALIFIER getParent(IXObject*& rpParent) const = 0; 00180 00181 /*************************************************************************/ 00187 /*************************************************************************/ 00188 virtual Retval MQUALIFIER getXMLNode(IXMLNode*& rpParent) const = 0; 00189 00190 /*************************************************************************/ 00197 /*************************************************************************/ 00198 virtual Retval MQUALIFIER setParent(IXObject* pParent) = 0; 00199 00200 /*************************************************************************/ 00210 /*************************************************************************/ 00211 virtual Retval MQUALIFIER setChild(IXObject& rChild) = 0; 00212 00213 /*************************************************************************/ 00219 /*************************************************************************/ 00220 virtual Retval MQUALIFIER getRootObject(IXObject*& rpObj) = 0; 00221 00222 /*************************************************************************/ 00231 /*************************************************************************/ 00232 virtual Retval MQUALIFIER getObject(const IString& rstrPath, IXObject*& rpObj) = 0; 00233 00234 /*************************************************************************/ 00243 /*************************************************************************/ 00244 virtual Retval MQUALIFIER getObjects(const IString& rstrPath, IXObjectCollection*& rpObjects) = 0; 00245 00246 /*************************************************************************/ 00251 /*************************************************************************/ 00252 virtual bool MQUALIFIER canCreateChildren() const = 0; 00253 00254 /*************************************************************************/ 00260 /*************************************************************************/ 00261 virtual bool MQUALIFIER freeze() = 0; 00262 00263 /*************************************************************************/ 00269 /*************************************************************************/ 00270 virtual bool MQUALIFIER unfreeze() = 0; 00271 00272 /*************************************************************************/ 00277 /*************************************************************************/ 00278 virtual bool MQUALIFIER isFrozen() const = 0; 00279 00280 /*************************************************************************/ 00285 /*************************************************************************/ 00286 virtual void MQUALIFIER setTreeLock(ICriticalSection* pSection) = 0; 00287 00288 /*************************************************************************/ 00292 /*************************************************************************/ 00293 virtual void MQUALIFIER lockTree() = 0; 00294 00295 /*************************************************************************/ 00298 /*************************************************************************/ 00299 virtual void MQUALIFIER unlockTree() = 0; 00300 00301 /*************************************************************************/ 00308 /*************************************************************************/ 00309 virtual Retval MQUALIFIER onExecute(ISimpleCommand& rCommand, Uint uiMode) = 0; 00310 00311 /*************************************************************************/ 00315 /*************************************************************************/ 00316 virtual void MQUALIFIER onBroadCast(ISimpleCommand& rMessage) = 0; 00317 00318 /*************************************************************************/ 00327 /*************************************************************************/ 00328 virtual Retval MQUALIFIER insertChild(Int iIndex, IXObject& rChild) = 0; 00329 00330 /*************************************************************************/ 00336 /*************************************************************************/ 00337 virtual Int MQUALIFIER indexOfChild(IXObject& rChild) = 0; 00338 00339 /*************************************************************************/ 00349 /*************************************************************************/ 00350 virtual Retval MQUALIFIER createChildObject(const IString& rstrName, const IString& rstrClassName, const IString& rstrCodeModule, IXObject*& rpChild) = 0; 00351 00352 /*************************************************************************/ 00363 /*************************************************************************/ 00364 virtual Retval MQUALIFIER createChildObjectCustom(const IString& rstrName, const IString& rstrClassName, const IString& rstrCodeModule, const IStringList& rList, IXObject*& rpChild) = 0; 00365 00366 /*************************************************************************/ 00378 /*************************************************************************/ 00379 virtual Retval MQUALIFIER getCastedObject(const IString& rstrPath, const InterfaceID& rInterfaceID, IZUnknown*& rpObj) = 0; 00380 00381 /*************************************************************************/ 00389 /*************************************************************************/ 00390 virtual Retval MQUALIFIER readIntAttribute(const IString& rstrName, Int& riValue, Int iDefault = 0) const = 0; 00391 00392 /*************************************************************************/ 00400 /*************************************************************************/ 00401 virtual Retval MQUALIFIER readUintAttribute(const IString& rstrName, Uint& ruiValue, Uint uiDefault = 0) const = 0; 00402 00403 /*************************************************************************/ 00411 /*************************************************************************/ 00412 virtual Retval MQUALIFIER readFloatAttribute(const IString& rstrName, Float& rfValue, Float fDefault = 0) const = 0; 00413 00414 /*************************************************************************/ 00421 /*************************************************************************/ 00422 virtual Retval MQUALIFIER readStringAttribute(const IString& rstrName, IString& rstrValue) const = 0; 00423 00424 /*************************************************************************/ 00432 /*************************************************************************/ 00433 virtual Retval MQUALIFIER readTimevalAttribute(const IString& rstrName, Timeval& rtmValue, Timeval tmDefault = 0) const = 0; 00434 00435 /*************************************************************************/ 00443 /*************************************************************************/ 00444 virtual Retval MQUALIFIER readBoolAttribute(const IString& rstrName, bool& rbValue, bool bDefault = false) const = 0; 00445 00446 /*************************************************************************/ 00453 /*************************************************************************/ 00454 virtual Retval MQUALIFIER storeIntAttribute(const IString& rstrName, const Int& riValue) = 0; 00455 00456 /*************************************************************************/ 00463 /*************************************************************************/ 00464 virtual Retval MQUALIFIER storeUintAttribute(const IString& rstrName, const Uint& ruiValue) = 0; 00465 00466 /*************************************************************************/ 00473 /*************************************************************************/ 00474 virtual Retval MQUALIFIER storeFloatAttribute(const IString& rstrName, const Float& rfValue) = 0; 00475 00476 /*************************************************************************/ 00483 /*************************************************************************/ 00484 virtual Retval MQUALIFIER storeStringAttribute(const IString& rstrName, const IString& rstrValue) = 0; 00485 00486 /*************************************************************************/ 00493 /*************************************************************************/ 00494 virtual Retval MQUALIFIER storeTimevalAttribute(const IString& rstrName, const Timeval& rtmValue) = 0; 00495 00496 /*************************************************************************/ 00504 /*************************************************************************/ 00505 virtual Retval MQUALIFIER storeBoolAttribute(const IString& rstrName, const bool& rbValue) = 0; 00506 00507 /*************************************************************************/ 00511 /*************************************************************************/ 00512 virtual Int MQUALIFIER getMemberCount() const = 0; 00513 00514 /*************************************************************************/ 00521 /*************************************************************************/ 00522 virtual Retval MQUALIFIER getMemberVariable(Int iIndex, IXMemberVariable*& rpMember) const = 0; 00523 00524 /*************************************************************************/ 00531 /*************************************************************************/ 00532 virtual Retval MQUALIFIER getMemberVariableByName(const IString& rstrName, IXMemberVariable*& rpMember) const = 0; 00533 00534 /*************************************************************************/ 00542 /*************************************************************************/ 00543 virtual Retval MQUALIFIER addNewMemberVariable(const IString& rstrName, IXMemberVariable::EVariableType eType) = 0; 00544 00545 /*************************************************************************/ 00552 /*************************************************************************/ 00553 virtual Retval MQUALIFIER removeMemberVariable(const IString& rstrName) = 0; 00554 00555 /*************************************************************************/ 00567 /*************************************************************************/ 00568 virtual Retval MQUALIFIER getMemberObjectReference(const IString& rstrName, IXObject*& rpRef) = 0; 00569 00570 /*************************************************************************/ 00579 /*************************************************************************/ 00580 virtual Retval MQUALIFIER getMemberXMLNode(const IString& rstrName, IXMLNode*& rpNode) const = 0; 00581 00582 /*************************************************************************/ 00590 /*************************************************************************/ 00591 virtual Retval MQUALIFIER readMemberVariable(const IString& rstrName, IZVariant& rValue) const = 0; 00592 00593 /*************************************************************************/ 00601 /*************************************************************************/ 00602 virtual Retval MQUALIFIER storeMemberVariable(const IString& rstrName, const IZVariant& rValue) = 0; 00603 00604 /*************************************************************************/ 00609 /*************************************************************************/ 00610 virtual void MQUALIFIER resetMemberVariables() = 0; 00611 00612 }; 00613 00614 END_NAMESPACE_Zeus 00615 00616 #endif //define IXObjectHPP