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
00035 typedef QValueList<Period> PeriodList;
00039 class FreeBusy : public IncidenceBase
00040 {
00041 public:
00042 FreeBusy();
00043 FreeBusy( const QDateTime &start, const QDateTime &end );
00044 FreeBusy( Calendar *calendar, const QDateTime &start,
00045 const QDateTime &end );
00046 FreeBusy( PeriodList busyPeriods );
00047
00048 ~FreeBusy();
00049
00050 QCString type() const { return "FreeBusy"; }
00051
00052 virtual QDateTime dtEnd() const;
00053 bool setDtEnd( const QDateTime &end );
00054
00055 PeriodList busyPeriods() const;
00056
00058 void addPeriod( const QDateTime &start, const QDateTime &end );
00062 void addPeriods( const PeriodList & );
00063 void sortList();
00064
00065 private:
00066
00067 bool addLocalPeriod( const QDateTime &start, const QDateTime &end );
00068
00069 QDateTime mDtEnd;
00070 PeriodList mBusyPeriods;
00071 Calendar *mCalendar;
00072
00073 class Private;
00074 Private *d;
00075 };
00076
00077 }
00078
00079 #endif
This file is part of the documentation for libkcal Library Version 3.3.2.