summaryrefslogtreecommitdiff
path: root/core/pim/datebook2/bookmanager.h
blob: c5dee4abc42b3fc793e00454dae51ae257a3245c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef OPIE_DATE_BOOK_MANAGER_H
#define OPIE_DATE_BOOK_MANAGER_H

#include <qlist.h>

#include <opie/opimrecord.h>
#include <opie/odatebookaccess.h>

namespace Datebook {
    /**
     * book manager is responsible for managing the
     * access
     * All access to the underlying API will be done
     * through this class
     */
    class BookManager {
    public:
        BookManager();
        ~BookManager();

        bool isLoaded()const;
        bool load();
        void reload();
        bool save();

        OEvent event( int uid );
        OEffectiveEvent::ValueList list( const QDate& from,
                                         const QDate& to );
        ODateBookAccess::List allRecords()const;

        void add( const OEvent& );
        void add( const OPimRecord& );
        void update( const OEvent& );
        void remove( int uid );
        void remove( const QArray<int>& );

        QList<OPimRecord> records( const QDate& from,
                                      const QDate& to );

    private:
        ODateBookAccess* m_db;
    };
}

#endif