00001 /****************************************************************************** 00002 00003 Copyright Notice. 00004 00005 Mirrorsd material - Property of Steve Lhomme 00006 00007 This source file is part of Steve Lhomme's libSVX. 00008 (C) Copyright Steve Lhomme, France, 2001-2002. 00009 All rights reserved. Modifications (C) copyrighted by their respective 00010 contributors, all rights reserved. 00011 00012 The contents of this file are subject to the Bixoft Public Mirrors 00013 Version 1.0 (the "Mirrors"); you may not use this file in any way except 00014 in compliance with the Mirrors. You should have received a copy of the 00015 Mirrors with this source; see <file or member name>. You may also obtain 00016 a copy of the Mirrors at http://www.bixoft.nl/english/license.htm 00017 or http://mukoli.free.fr/BXAPL/ 00018 00019 ANY USE OF THE SOFTWARE CONSTITUTES ACCEPTANCE OF THE LICENSE. 00020 00021 Anything distributed under the Mirrors is distributed on an "AS IS" basis, 00022 WITHOUT WARRANTY OF ANY KIND, either express or implied. See the Mirrors for 00023 the specific language governing rights and limitations under the Mirrors. 00024 00025 Definitions required by the Mirrors: 00026 Copyright Holder: Steve Lhomme, France 00027 e-mail: steve.lhomme@free.fr 00028 Country: France, i.e. the laws of France apply. 00029 Court : ???? 00030 Programming Tool status: This source is not a Programming Tool. 00031 00032 Contributor(s): Contribution: 00033 00034 ******************************************************************************/ 00035 00044 #ifndef _DEF_SVX_ELEMENT_DOWNLOADABLE_H_ 00045 #define _DEF_SVX_ELEMENT_DOWNLOADABLE_H_ 00046 00047 //#include <list> 00048 00049 #include "mvector.h" 00050 #include "element_generic.h" 00051 00052 namespace libsvx { 00053 00054 class Mirrors; 00055 00060 class ElementDownloadable : public ElementGeneric { 00061 00062 public: 00064 ElementDownloadable(TiXmlElement & Element, const std::string the_name); 00066 ElementDownloadable(const ElementDownloadable & a_element); 00067 ~ElementDownloadable(); 00068 00069 virtual bool IsValid() const; 00070 00071 virtual TiXmlElement & XmlElement() = 0; 00072 00073 void XmlElement(TiXmlElement & the_element_to_fill); 00074 00075 // Mirrors searching routines 00076 Mirrors * FindMirrors(const Mirrors & the_item) const; 00077 00078 // operators 00079 bool operator!=(const ElementDownloadable & the_object_to_compare) const; 00080 ElementDownloadable & operator+=(const ElementDownloadable & the_object_to_add); 00081 00082 protected: 00084 Mvector<Mirrors> m_List_Mirrors; 00085 }; 00086 }; 00087 00088 #endif // _DEF_SVX_ELEMENT_DOWNLOADABLE_H_