• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdepimlibs-4.9.1 API Reference
  • KDE Home
  • Contact Us
 

KCalCore Library

  • KCalCore
  • FreeBusy
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends
KCalCore::FreeBusy Class Reference

#include <freebusy.h>

Inheritance diagram for KCalCore::FreeBusy:
Inheritance graph
[legend]

List of all members.

Public Types

typedef QVector< Ptr > List
typedef QSharedPointer< FreeBusy > Ptr
- Public Types inherited from KCalCore::IncidenceBase
enum  DateTimeRole {
  RoleAlarmStartOffset = 0, RoleAlarmEndOffset, RoleSort, RoleCalendarHashing,
  RoleStartTimeZone, RoleEndTimeZone, RoleEndRecurrenceBase, RoleEnd,
  RoleDisplayEnd, RoleAlarm, RoleRecurrenceStart, RoleDisplayStart,
  RoleDnD
}
enum  Field {
  FieldDtStart, FieldDtEnd, FieldLastModified, FieldDescription,
  FieldSummary, FieldLocation, FieldCompleted, FieldPercentComplete,
  FieldDtDue, FieldCategories, FieldRelatedTo, FieldRecurrence,
  FieldAttachment, FieldSecrecy, FieldStatus, FieldTransparency,
  FieldResources, FieldPriority, FieldGeoLatitude, FieldGeoLongitude,
  FieldRecurrenceId, FieldAlarms, FieldSchedulingId, FieldAttendees,
  FieldOrganizer, FieldCreated, FieldRevision, FieldDuration,
  FieldContact, FieldComment, FieldUid, FieldUnknown
}
enum  IncidenceType {
  TypeEvent = 0, TypeTodo, TypeJournal, TypeFreeBusy,
  TypeUnknown
}

Public Member Functions

 FreeBusy ()
 FreeBusy (const FreeBusy &other)
 FreeBusy (const Period::List &busyPeriods)
 FreeBusy (const FreeBusyPeriod::List &busyPeriods)
 FreeBusy (const KDateTime &start, const KDateTime &end)
 FreeBusy (const Event::List &events, const KDateTime &start, const KDateTime &end)
 ~FreeBusy ()
void addPeriod (const KDateTime &start, const KDateTime &end)
void addPeriod (const KDateTime &start, const Duration &duration)
void addPeriods (const Period::List &list)
void addPeriods (const FreeBusyPeriod::List &list)
Period::List busyPeriods () const
KDateTime dateTime (DateTimeRole role) const
virtual KDateTime dtEnd () const
FreeBusyPeriod::List fullBusyPeriods () const
void merge (FreeBusy::Ptr freebusy)
QLatin1String mimeType () const
void setDateTime (const KDateTime &dateTime, DateTimeRole role)
void setDtEnd (const KDateTime &end)
virtual void setDtStart (const KDateTime &start)
virtual void shiftTimes (const KDateTime::Spec &oldSpec, const KDateTime::Spec &newSpec)
void sortList ()
IncidenceType type () const
QByteArray typeStr () const
- Public Member Functions inherited from KCalCore::IncidenceBase
 IncidenceBase ()
virtual ~IncidenceBase ()
void addAttendee (const Attendee::Ptr &attendee, bool doUpdate=true)
void addComment (const QString &comment)
void addContact (const QString &contact)
bool allDay () const
Attendee::Ptr attendeeByMail (const QString &email) const
Attendee::Ptr attendeeByMails (const QStringList &emails, const QString &email=QString()) const
Attendee::Ptr attendeeByUid (const QString &uid) const
int attendeeCount () const
Attendee::List attendees () const
void clearAttendees ()
void clearComments ()
void clearContacts ()
QStringList comments () const
QStringList contacts () const
void deleteAttendee (const Attendee::Ptr &attendee, bool doUpdate=true)
QSet< IncidenceBase::Field > dirtyFields () const
virtual KDateTime dtStart () const
Duration duration () const
void endUpdates ()
bool hasDuration () const
bool isReadOnly () const
KDateTime lastModified () const
bool operator!= (const IncidenceBase &ib) const
IncidenceBase & operator= (const IncidenceBase &other)
bool operator== (const IncidenceBase &ib) const
Person::Ptr organizer () const
virtual KDateTime recurrenceId () const
void registerObserver (IncidenceObserver *observer)
bool removeComment (const QString &comment)
bool removeContact (const QString &contact)
void resetDirtyFields ()
void setAllDay (bool allDay)
void setDirtyFields (const QSet< IncidenceBase::Field > &)
virtual void setDuration (const Duration &duration)
void setHasDuration (bool hasDuration)
virtual void setLastModified (const KDateTime &lm)
void setOrganizer (const Person::Ptr &organizer)
void setOrganizer (const QString &organizer)
virtual void setReadOnly (bool readOnly)
void setUid (const QString &uid)
void startUpdates ()
QString uid () const
void unRegisterObserver (IncidenceObserver *observer)
void update ()
void updated ()
KUrl uri () const
- Public Member Functions inherited from KCalCore::CustomProperties
 CustomProperties ()
 CustomProperties (const CustomProperties &other)
virtual ~CustomProperties ()
QMap< QByteArray, QString > customProperties () const
QString customProperty (const QByteArray &app, const QByteArray &key) const
QString nonKDECustomProperty (const QByteArray &name) const
QString nonKDECustomPropertyParameters (const QByteArray &name) const
CustomProperties & operator= (const CustomProperties &other)
bool operator== (const CustomProperties &properties) const
void removeCustomProperty (const QByteArray &app, const QByteArray &key)
void removeNonKDECustomProperty (const QByteArray &name)
void setCustomProperties (const QMap< QByteArray, QString > &properties)
void setCustomProperty (const QByteArray &app, const QByteArray &key, const QString &value)
void setNonKDECustomProperty (const QByteArray &name, const QString &value, const QString &parameters=QString())

Static Public Member Functions

static QLatin1String freeBusyMimeType ()

Protected Member Functions

virtual IncidenceBase & assign (const IncidenceBase &other)
virtual bool equals (const IncidenceBase &freebusy) const
virtual void virtual_hook (int id, void *data)
- Protected Member Functions inherited from KCalCore::IncidenceBase
 IncidenceBase (const IncidenceBase &ib)
virtual void customPropertyUpdate ()
virtual void customPropertyUpdated ()
void setFieldDirty (IncidenceBase::Field field)

Friends

KCALCORE_EXPORT QDataStream & operator<< (QDataStream &s, const KCalCore::FreeBusy::Ptr &freebusy)
KCALCORE_EXPORT QDataStream & operator>> (QDataStream &s, KCalCore::FreeBusy::Ptr &freebusy)

Additional Inherited Members

- Protected Attributes inherited from KCalCore::IncidenceBase
bool mReadOnly

Detailed Description

Provides information about the free/busy time of a calendar.

A free/busy is a collection of Periods (

See also:
Period).

Definition at line 52 of file freebusy.h.


Member Typedef Documentation

typedef QVector<Ptr> KCalCore::FreeBusy::List

List of FreeBusy objects.

Definition at line 69 of file freebusy.h.

typedef QSharedPointer<FreeBusy> KCalCore::FreeBusy::Ptr

A shared pointer to a FreeBusy object.

Reimplemented from KCalCore::IncidenceBase.

Definition at line 64 of file freebusy.h.


Constructor & Destructor Documentation

FreeBusy::FreeBusy ( )

Constructs an free/busy without any periods.

Definition at line 77 of file freebusy.cpp.

FreeBusy::FreeBusy ( const FreeBusy &  other)

Copy constructor.

Parameters:
otheris the free/busy to copy.

Definition at line 82 of file freebusy.cpp.

FreeBusy::FreeBusy ( const Period::List &  busyPeriods)
explicit

Constructs a free/busy from a list of periods.

Parameters:
busyPeriodsis a list of periods.

Definition at line 190 of file freebusy.cpp.

FreeBusy::FreeBusy ( const FreeBusyPeriod::List &  busyPeriods)
explicit

Constructs a free/busy from a list of periods.

Parameters:
busyPeriodsis a list of periods.

Definition at line 196 of file freebusy.cpp.

FreeBusy::FreeBusy ( const KDateTime &  start,
const KDateTime &  end 
)

Constructs a free/busy from a single period.

Parameters:
startis the start datetime of the period.
endis the end datetime of the period.

Definition at line 88 of file freebusy.cpp.

FreeBusy::FreeBusy ( const Event::List &  events,
const KDateTime &  start,
const KDateTime &  end 
)

Constructs a freebusy for a specified list of events given a single period.

Parameters:
eventslist of events.
startis the start datetime of the period.
endis the end datetime of the period.

Definition at line 95 of file freebusy.cpp.

FreeBusy::~FreeBusy ( )

Destroys a free/busy.

Definition at line 201 of file freebusy.cpp.


Member Function Documentation

void FreeBusy::addPeriod ( const KDateTime &  start,
const KDateTime &  end 
)

Adds a period to the freebusy list and sorts the list.

Parameters:
startis the start datetime of the period.
endis the end datetime of the period.

Definition at line 268 of file freebusy.cpp.

void FreeBusy::addPeriod ( const KDateTime &  start,
const Duration &  duration 
)

Adds a period to the freebusy list and sorts the list.

Parameters:
startis the start datetime of the period.
durationis the Duration of the period.

Definition at line 274 of file freebusy.cpp.

void FreeBusy::addPeriods ( const Period::List &  list)

Adds a list of periods to the freebusy object and then sorts that list.

Use this if you are adding many items, instead of the addPeriod method, to avoid sorting repeatedly.

Parameters:
listis a list of Period objects.

Definition at line 254 of file freebusy.cpp.

void FreeBusy::addPeriods ( const FreeBusyPeriod::List &  list)

Adds a list of periods to the freebusy object and then sorts that list.

Use this if you are adding many items, instead of the addPeriod method, to avoid sorting repeatedly.

Parameters:
listis a list of FreeBusyPeriod objects.

Definition at line 262 of file freebusy.cpp.

IncidenceBase & FreeBusy::assign ( const IncidenceBase &  other)
protectedvirtual

Parameters:
otheris the IncidenceBase to assign.

Reimplemented from KCalCore::IncidenceBase.

Definition at line 311 of file freebusy.cpp.

Period::List FreeBusy::busyPeriods ( ) const

Returns the list of all periods within the free/busy.

Definition at line 232 of file freebusy.cpp.

KDateTime FreeBusy::dateTime ( DateTimeRole  role) const
virtual

Parameters:
roleis a DateTimeRole.

Implements KCalCore::IncidenceBase.

Definition at line 339 of file freebusy.cpp.

KDateTime FreeBusy::dtEnd ( ) const
virtual

Returns the end datetime for the free/busy.

FIXME: calling addPeriod() does not change mDtEnd. Is that incorrect?

See also:
setDtEnd().

Definition at line 227 of file freebusy.cpp.

bool FreeBusy::equals ( const IncidenceBase &  freebusy) const
protectedvirtual

Compare this with freebusy for equality.

Parameters:
freebusyis the FreeBusy to compare.

Reimplemented from KCalCore::IncidenceBase.

Definition at line 321 of file freebusy.cpp.

QLatin1String KCalCore::FreeBusy::freeBusyMimeType ( )
static

Returns the Akonadi specific sub MIME type of a KCalCore::FreeBusy.

Definition at line 401 of file freebusy.cpp.

FreeBusyPeriod::List FreeBusy::fullBusyPeriods ( ) const

Returns the list of all periods within the free/busy.

Definition at line 243 of file freebusy.cpp.

void FreeBusy::merge ( FreeBusy::Ptr  freebusy)

Merges another free/busy into this free/busy.

Parameters:
freebusyis a pointer to a valid FreeBusy object.

Definition at line 280 of file freebusy.cpp.

QLatin1String FreeBusy::mimeType ( ) const
virtual

getting "application/x-vnd.akonadi.calendar.event" for a KCalCore::Event.

Implements KCalCore::IncidenceBase.

Definition at line 396 of file freebusy.cpp.

void FreeBusy::setDateTime ( const KDateTime &  dateTime,
DateTimeRole  role 
)
virtual

Parameters:
dateTimeis KDateTime value to set.
roleis a DateTimeRole.

Implements KCalCore::IncidenceBase.

Definition at line 346 of file freebusy.cpp.

void FreeBusy::setDtEnd ( const KDateTime &  end)

Sets the end datetime for the free/busy.

Note that this datetime may be later or earlier than all periods within the free/busy.

Parameters:
endis a KDateTime specifying an end datetime.
See also:
dtEnd(), setDtStart().

Definition at line 222 of file freebusy.cpp.

void FreeBusy::setDtStart ( const KDateTime &  start)
virtual

Sets the start datetime for the free/busy.

Note that this datetime may be later or earlier than all periods within the free/busy.

Parameters:
startis a KDateTime specifying an start datetime.
See also:
IncidenceBase::dtStart(), setDtEnd().

Reimplemented from KCalCore::IncidenceBase.

Definition at line 216 of file freebusy.cpp.

void FreeBusy::shiftTimes ( const KDateTime::Spec &  oldSpec,
const KDateTime::Spec &  newSpec 
)
virtual

The shift is done from a viewing time zone rather than from the actual incidence time zone.For example, shifting an incidence whose start time is 09:00 America/New York, using an old viewing time zone (oldSpec) of Europe/London, to a new time zone (newSpec) of Europe/Paris, will result in the time being shifted from 14:00 (which is the London time of the incidence start) to 14:00 Paris time.

Parameters:
oldSpecthe time specification which provides the clock times
newSpecthe new time specification

Reimplemented from KCalCore::IncidenceBase.

Definition at line 298 of file freebusy.cpp.

void FreeBusy::sortList ( )

Sorts the list of free/busy periods into ascending order.

Definition at line 248 of file freebusy.cpp.

IncidenceBase::IncidenceType FreeBusy::type ( ) const
virtual

Implements KCalCore::IncidenceBase.

Definition at line 206 of file freebusy.cpp.

QByteArray FreeBusy::typeStr ( ) const
virtual

Implements KCalCore::IncidenceBase.

Definition at line 211 of file freebusy.cpp.

void FreeBusy::virtual_hook ( int  id,
void *  data 
)
protectedvirtual

Parameters:
idis any integer unique to this class which we will use to identify the method to be called.
datais a pointer to some glob of data, typically a struct.

Implements KCalCore::IncidenceBase.

Definition at line 352 of file freebusy.cpp.


Friends And Related Function Documentation

KCALCORE_EXPORT QDataStream& operator<< ( QDataStream &  s,
const KCalCore::FreeBusy::Ptr &  freebusy 
)
friend

Serializes the fb object into the stream.

KCALCORE_EXPORT QDataStream& operator>> ( QDataStream &  s,
KCalCore::FreeBusy::Ptr &  freebusy 
)
friend

Initializes the fb object from the stream.


The documentation for this class was generated from the following files:
  • freebusy.h
  • freebusy.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2012 The KDE developers.
Generated on Mon Sep 24 2012 09:01:27 by doxygen 1.8.1.1 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KCalCore Library

Skip menu "KCalCore Library"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdepimlibs-4.9.1 API Reference

Skip menu "kdepimlibs-4.9.1 API Reference"
  • akonadi
  •   contact
  •   kmime
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  •   richtextbuilders
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal