From 5c3abe7907d7dfcf35da2151cd131eef35bc33ad Mon Sep 17 00:00:00 2001 From: Jonas Suhr Christensen Date: Fri, 23 Mar 2012 15:28:36 +0100 Subject: Added files. --- src/xmlparser.h | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src/xmlparser.h (limited to 'src/xmlparser.h') diff --git a/src/xmlparser.h b/src/xmlparser.h new file mode 100644 index 0000000..85a0600 --- /dev/null +++ b/src/xmlparser.h @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set et sw=2 ts=2: */ +/*************************************************************************** + * xmlparser.h + * + * Wed Mar 21 09:15:51 CET 2012 + * Copyright 2012 Jonas Suhr Christensen + * jsc@umbraculum.org + ****************************************************************************/ + +/* + * This file is part of Munia. + * + * Munia is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Munia is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Munia; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ +#ifndef __MUNIA_XMLPARSER_H__ +#define __MUNIA_XMLPARSER_H__ + +#include "task.h" +#include "saxparser.h" + +class XmlParser : public SAXParser { +public: + XmlParser(std::string filename); + ~XmlParser(); + + void startTag(std::string name, attributes_t &attr); + void endTag(std::string name); + void characterData(std::string& data); + + TaskList tasklist; +protected: + int readData(char* data, size_t size); + +private: + FILE* fp; + task_t* task; + std::string characterbuf; + + enum tag_t { + title, + desc, + none + }; + + tag_t open_tagtype; +}; + +#endif/*__MUNIA_XMLPARSER_H__*/ -- cgit v1.2.3