summaryrefslogtreecommitdiff
path: root/libopie/pim/odatebookaccess.cpp
blob: d95fed66550689c8507da630480304f33f3f193f (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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include "obackendfactory.h"
#include "odatebookaccess.h"

/**
 * Simple constructor
 * It takes a ODateBookAccessBackend as parent. If it is 0 the default implementation
 * will be used!
 * @param back The backend to be used or 0 for the default backend
 * @param ac What kind of access is intended
 */
ODateBookAccess::ODateBookAccess( ODateBookAccessBackend* back, enum Access ac )
    : OPimAccessTemplate<OEvent>( back )
{
    if (!back )
        back = OBackendFactory<ODateBookAccessBackend>::Default("datebook", QString::null );

    m_backEnd = back;
    setBackEnd( m_backEnd );
}
ODateBookAccess::~ODateBookAccess() {
}

/**
 * @return all events available
 */
ODateBookAccess::List ODateBookAccess::rawEvents()const {
    QArray<int> ints = m_backEnd->rawEvents();

    List lis( ints, this );
    return lis;
}

/**
 * @return all repeating events
 */
ODateBookAccess::List ODateBookAccess::rawRepeats()const {
    QArray<int> ints = m_backEnd->rawRepeats();

    List lis( ints, this );
    return lis;
}

/**
 * @return all non repeating events
 */
ODateBookAccess::List ODateBookAccess::nonRepeats()const {
    QArray<int> ints = m_backEnd->nonRepeats();

    List lis( ints, this );
    return lis;
}

/**
 * @return dates in the time span between from and to
 * @param from Include all events from...
 * @param to Include all events to...
 */
OEffectiveEvent::ValueList ODateBookAccess::effectiveEvents( const QDate& from, const QDate& to ) const {
    return m_backEnd->effectiveEvents( from, to );
}
/**
 * @return all events at a given datetime
 */
OEffectiveEvent::ValueList ODateBookAccess::effectiveEvents( const QDateTime& start ) const {
    return m_backEnd->effectiveEvents( start );
}

/**
 * @return non repeating dates in the time span between from and to
 * @param from Include all events from...
 * @param to Include all events to...
 */
OEffectiveEvent::ValueList ODateBookAccess::effectiveNonRepeatingEvents( const QDate& from, const QDate& to ) const {
    return m_backEnd->effectiveNonRepeatingEvents( from, to );
}
/**
 * @return all non repeating events at a given datetime
 */
OEffectiveEvent::ValueList ODateBookAccess::effectiveNonRepeatingEvents( const QDateTime& start ) const {
    return m_backEnd->effectiveNonRepeatingEvents( start );
}