#ifndef OPIE_TODO_ACCESS_XML_H #define OPIE_TODO_ACCESS_XML_H #include #include #include "otodoaccessbackend.h" namespace Opie { class XMLElement; }; class OTodoAccessXML : public OTodoAccessBackend { public: /** * fileName if Empty we will use the default path */ OTodoAccessXML( const QString& appName, const QString& fileName = QString::null ); ~OTodoAccessXML(); bool load(); bool reload(); bool save(); QArray allRecords()const; QArray queryByExample( const OTodo&, int sort ); OTodo find( int uid )const; void clear(); bool add( const OTodo& ); bool remove( int uid ); bool replace( const OTodo& ); /* our functions */ QArray effectiveToDos( const QDate& start, const QDate& end, bool includeNoDates ); QArray overDue(); private: OTodo todo( QAsciiDict*, Opie::XMLElement* )const; QString toString( const OTodo& )const; QString toString( const QArray& ints ) const; QMap m_events; QString m_file; QString m_app; bool m_opened : 1; bool m_changed : 1; class OTodoAccessXMLPrivate; OTodoAccessXMLPrivate* d; }; #endif