loadGroupXMLParser.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #include <config.h>
00009
00010 #if HAVE_LIBQTXML
00011
00012 #ifndef LOADGROUPXMLPARSER_H
00013 #define LOADGROUPXMLPARSER_H
00014
00015 #include "deviceCollection.h"
00016
00017 #include <QtXml/QXmlDefaultHandler>
00018
00019 class loadGroupXMLParser : public QXmlDefaultHandler {
00020 public:
00021 loadGroupXMLParser();
00022 virtual ~loadGroupXMLParser();
00023 bool startElement(const QString& namespaceURI, const QString& localName, const QString& qName, const QXmlAttributes& atts);
00024 bool endElement(const QString& namespaceURI, const QString& localName, const QString& qName);
00025 bool characters(const QString& ch);
00026
00027 std::vector<deviceGroup> groups;
00028 private:
00029 enum
00030 {
00031 NotWaiting,
00032 WaitingForDescription,
00033 WaitingForStatusGroup,
00034 WaitingForMember,
00035 WaitingForName,
00036 WaitingForNelem,
00037 WaitingForStatus,
00038 WaitingForRule,
00039 WaitingForDataType,
00040 WaitingForId,
00041 WaitingForAttrib,
00042 WaitingForCollectiveType
00043 } state;
00044 deviceGroup group;
00045
00046 collectionInGroup collection;
00047 std::string xmlMem;
00048
00049 const static QString& tagCollection_list;
00050 const static QString& tagGroup;
00051 const static QString& tagDescription;
00052 const static QString& tagStatusGroup;
00053 const static QString& tagMember;
00054 const static QString& tagName;
00055 const static QString& tagNelem;
00056 const static QString& tagStatus;
00057 const static QString& tagRule;
00058 const static QString& tagDataType;
00059 const static QString& tagCollection;
00060 const static QString& tagId;
00061 const static QString& tagAttrib;
00062 const static QString& tagCollectiveType;
00063 };
00064
00065 #endif
00066
00067 #endif