freebusy.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KCAL_FREEBUSY_H
00022 #define KCAL_FREEBUSY_H
00023
00024 #include <qdatetime.h>
00025 #include <qvaluelist.h>
00026 #include <qptrlist.h>
00027
00028 #include "period.h"
00029 #include "calendar.h"
00030
00031 #include "incidencebase.h"
00032
00033 namespace KCal {
00034
00038 class FreeBusy : public IncidenceBase
00039 {
00040 public:
00041 FreeBusy();
00042 FreeBusy( const QDateTime &start, const QDateTime &end );
00043 FreeBusy( Calendar *calendar, const QDateTime &start,
00044 const QDateTime &end );
00045 FreeBusy( QValueList<Period> busyPeriods );
00046
00047 ~FreeBusy();
00048
00049 QCString type() const { return "FreeBusy"; }
00050
00051 virtual QDateTime dtEnd() const;
00052 bool setDtEnd( const QDateTime &end );
00053
00054 QValueList<Period> busyPeriods() const;
00055
00056 void addPeriod( const QDateTime &start, const QDateTime &end );
00057 void sortList();
00058
00059 private:
00060
00061 bool addLocalPeriod( const QDateTime &start, const QDateTime &end );
00062
00063 QDateTime mDtEnd;
00064 QValueList<Period> mBusyPeriods;
00065 Calendar *mCalendar;
00066
00067 class Private;
00068 Private *d;
00069 };
00070
00071 }
00072
00073 #endif
This file is part of the documentation for libkcal Library Version 3.2.2.