entry.h
00001 /* 00002 This file is part of KOrganizer. 00003 Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org> 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public License 00016 along with this library; see the file COPYING.LIB. If not, write to 00017 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00018 Boston, MA 02110-1301, USA. 00019 */ 00020 #ifndef KNEWSTUFF_ENTRY_H 00021 #define KNEWSTUFF_ENTRY_H 00022 00023 #include <tqdatetime.h> 00024 #include <tqdom.h> 00025 #include <tqmap.h> 00026 #include <tqstring.h> 00027 #include <tqstringlist.h> 00028 00029 #include <kurl.h> 00030 00031 namespace KNS { 00032 00044 class KDE_EXPORT Entry 00045 { 00046 public: 00047 Entry(); 00051 Entry( const TQDomElement & ); 00052 00056 ~Entry(); 00057 00061 void setName( const TQString & ); 00062 00066 void setName( const TQString &, const TQString & ); 00067 00073 TQString name() const; 00074 00080 TQString name( const TQString &lang ) const; 00081 00085 void setType( const TQString & ); 00086 00092 TQString type() const; 00093 00097 void setAuthor( const TQString & ); 00098 00104 TQString author() const; 00105 00109 void setAuthorEmail( const TQString & ); 00110 00116 TQString authorEmail() const; 00117 00121 void setLicence( const TQString & ); 00122 00128 TQString license() const; 00129 00133 void setSummary( const TQString &, const TQString &lang = TQString::null ); 00134 00141 TQString summary( const TQString &lang = TQString::null ) const; 00142 00146 void setVersion( const TQString & ); 00147 00153 TQString version() const; 00154 00159 void setRelease( int ); 00160 00166 int release() const; 00167 00171 void setReleaseDate( const TQDate & ); 00172 00178 TQDate releaseDate() const; 00179 00183 void setPayload( const KURL &, const TQString &lang = TQString::null ); 00184 00191 KURL payload( const TQString &lang = TQString::null ) const; 00192 00197 void setPreview( const KURL &, const TQString &lang = TQString::null ); 00198 00205 KURL preview( const TQString &lang = TQString::null ) const; 00206 00212 void setRating( int ); 00213 00220 int rating(); 00221 00227 void setDownloads( int ); 00228 00235 int downloads(); 00236 00241 TQString fullName(); 00242 00246 TQStringList langs(); 00247 00251 void parseDomElement( const TQDomElement & ); 00252 00256 TQDomElement createDomElement( TQDomDocument &, TQDomElement &parent ); 00257 00258 protected: 00259 TQDomElement addElement( TQDomDocument &doc, TQDomElement &parent, 00260 const TQString &tag, const TQString &value ); 00261 00262 private: 00263 TQString mName; 00264 TQString mType; 00265 TQString mAuthor; 00266 TQString mLicence; 00267 TQMap<TQString,TQString> mSummaryMap; 00268 TQString mVersion; 00269 int mRelease; 00270 TQDate mReleaseDate; 00271 TQMap<TQString,KURL> mPayloadMap; 00272 TQMap<TQString,KURL> mPreviewMap; 00273 int mRating; 00274 int mDownloads; 00275 00276 TQStringList mLangs; 00277 }; 00278 00279 } 00280 00281 #endif