dbwrapper.h

00001 #ifndef KABC_EVOLUTION_DB_WRAPPER
00002 #define KABC_EVOLUTION_DB_WRAPPER
00003 
00004 #include <db.h>
00005 
00006 #include <qstring.h>
00007 #include <qpair.h>
00008 
00009 namespace Evolution {
00010 
00011     class DBWrapper;
00012     class DBIterator {
00013         friend class DBWrapper;
00014     public:
00015         DBIterator( DBWrapper* = 0l );
00016         ~DBIterator();
00017 
00018         DBIterator( const DBIterator& );
00019         DBIterator &operator=( const DBIterator& );
00020 
00021         QString key()const;
00022         QString value()const;
00023 
00024         QString operator*();
00025 
00026         DBIterator &operator++();
00027         DBIterator &operator--();
00028 
00029         bool operator==( const DBIterator& );
00030         bool operator!=( const DBIterator& );
00031     private:
00032         struct Data;
00033         Data* data;
00034     };
00035     class DBWrapper {
00036     public:
00037         DBWrapper();
00038         ~DBWrapper();
00039 
00040         QString lastError()const;
00041 
00042         bool open( const QString& file, bool readOnly = false);
00043         bool save();
00044         DBIterator begin();
00045         DBIterator end();
00046 
00047         bool find( const QString& key, QString& value );
00048         bool add( const QString& key,  const QString& val );
00049         bool remove( const QString& key );
00050     private:
00051         //  DBT element( const QString& );
00052         struct Data;
00053         Data* data;
00054 
00055     };
00056 
00057 }
00058 
00059 
00060 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys