KCal Library
freebusy.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00031 #ifndef KCAL_FREEBUSY_H
00032 #define KCAL_FREEBUSY_H
00033
00034 #include "incidencebase.h"
00035 #include "period.h"
00036
00037 #include <QtCore/QByteArray>
00038
00039 namespace KCal {
00040
00041 class Calendar;
00042
00049 class KCAL_EXPORT FreeBusy : public IncidenceBase
00050 {
00051 public:
00055 FreeBusy();
00056
00062 explicit FreeBusy( const Period::List &busyPeriods );
00063
00070 FreeBusy( const KDateTime &start, const KDateTime &end );
00071
00079 FreeBusy( Calendar *calendar, const KDateTime &start, const KDateTime &end );
00080
00084 ~FreeBusy();
00085
00090 QByteArray type() const;
00091
00099 virtual void setDtStart( const KDateTime &start );
00100
00108 void setDtEnd( const KDateTime &end );
00109
00115 virtual KDateTime dtEnd() const;
00116
00121 virtual void shiftTimes( const KDateTime::Spec &oldSpec,
00122 const KDateTime::Spec &newSpec );
00123
00127 Period::List busyPeriods() const;
00128
00135 void addPeriod( const KDateTime &start, const KDateTime &end );
00136
00143 void addPeriod( const KDateTime &start, const Duration &duration );
00144
00152 void addPeriods( const Period::List &list );
00153
00157 void sortList();
00158
00164 void merge( FreeBusy *freebusy );
00165
00166 private:
00171 bool accept( Visitor &v ) { return v.visit( this ); }
00172
00173
00174 Q_DISABLE_COPY( FreeBusy )
00175 class Private;
00176 Private *const d;
00177
00178 };
00179
00180 }
00181
00182 #endif