benoitrigolleau@279: benoitrigolleau@279: #ifndef _SPARQL_RESULTS_HANDLER_H_ benoitrigolleau@279: #define _SPARQL_RESULTS_HANDLER_H_ benoitrigolleau@279: benoitrigolleau@279: #include benoitrigolleau@279: benoitrigolleau@279: class SparqlResultsHandler : public QObject, public QXmlDefaultHandler benoitrigolleau@279: { benoitrigolleau@279: Q_OBJECT benoitrigolleau@279: public: benoitrigolleau@279: SparqlResultsHandler(); benoitrigolleau@279: benoitrigolleau@279: bool startElement(const QString &namespaceURI, const QString &localName, benoitrigolleau@279: const QString &qName, const QXmlAttributes &attributes); benoitrigolleau@279: bool endElement(const QString &namespaceURI, const QString &localName, benoitrigolleau@279: const QString &qName); benoitrigolleau@279: bool characters(const QString &str); benoitrigolleau@279: bool error(const QXmlParseException &exception); benoitrigolleau@279: bool fatalError(const QXmlParseException &exception); benoitrigolleau@279: bool endDocument(); benoitrigolleau@279: benoitrigolleau@279: signals : benoitrigolleau@279: void endOfDocumentDetected(); benoitrigolleau@279: void newResultDetected(); benoitrigolleau@279: void newInfoResultDetected(QString,QString); benoitrigolleau@279: void endOfResultDetected(); benoitrigolleau@279: benoitrigolleau@279: private: benoitrigolleau@279: benoitrigolleau@279: bool m_inBinding; benoitrigolleau@279: QString m_curBindingName; benoitrigolleau@279: benoitrigolleau@279: QString m_composer; benoitrigolleau@279: QString m_arranger; benoitrigolleau@279: }; benoitrigolleau@279: benoitrigolleau@279: #endif