00001 /*************************************************************************** 00002 pparser.h - description 00003 ------------------- 00004 begin : Thu Jul 11 2002 00005 copyright : (C) 2002 by Ryan Rusaw 00006 email : rrusaw@sasktel.net 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 #ifndef PPARSER_H 00018 #define PPARSER_H 00019 #include <qxml.h> 00020 #include <qobject.h> 00021 #include "pcontent.h" 00022 00023 #define MANIFEST 0 00024 #define OCONTENT 1 00025 #define OSTYLES 2 00026 #define OMETA 3 00027 #define OSETTINGS 4 00028 00029 class QString; 00030 00035 class sxifile : public QObject 00036 { 00037 00038 public: 00042 sxifile(){}; 00046 ~sxifile(){}; 00050 QString mediatype; 00054 QString fullpath; 00058 }; 00059 00065 class PParser : public QXmlDefaultHandler 00066 { 00067 public: 00071 PParser(); 00075 ~PParser(){}; 00080 bool startDocument(); 00085 bool endDocument(); 00090 bool characters( const QString &ch ); 00099 bool startElement( const QString& namespaceURI, const QString& localName, const QString &qName, 00100 const QXmlAttributes &attr); 00108 bool endElement( const QString& namespaceURI, const QString &localName, const QString &qName ); 00112 sxifile *first; 00116 sxifile *currfile; 00120 QList<sxifile> file; 00124 pXmlNode content; 00128 pXmlNode style; 00132 pXmlNode settings; 00136 pXmlNode meta; 00140 pXmlNode *current; 00144 QList<pImage> images; 00145 00146 private: 00152 int getFileType( const QString &qName); 00156 int filetype; 00157 00158 }; 00159 00160 #endif