KCal Library
icalformat.h
Go to the documentation of this file.
00001 /* 00002 This file is part of the kcal library. 00003 00004 Copyright (c) 2001-2003 Cornelius Schumacher <schumacher@kde.org> 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Library General Public 00008 License as published by the Free Software Foundation; either 00009 version 2 of the License, or (at your option) any later version. 00010 00011 This library is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 Library General Public License for more details. 00015 00016 You should have received a copy of the GNU Library General Public License 00017 along with this library; see the file COPYING.LIB. If not, write to 00018 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00019 Boston, MA 02110-1301, USA. 00020 */ 00029 #ifndef KCAL_ICALFORMAT_H 00030 #define KCAL_ICALFORMAT_H 00031 00032 #include "calformat.h" 00033 #include "scheduler.h" 00034 00035 #include <kdatetime.h> 00036 00037 #include <QtCore/QString> 00038 #include <QtCore/QByteArray> 00039 00040 namespace KCal { 00041 00042 class FreeBusy; 00043 00052 class KCAL_EXPORT ICalFormat : public CalFormat 00053 { 00054 public: 00058 ICalFormat(); 00059 00063 virtual ~ICalFormat(); 00064 00069 bool load( Calendar *calendar, const QString &fileName ); 00070 00075 bool save( Calendar *calendar, const QString &fileName ); 00076 00081 bool fromString( Calendar *calendar, const QString &string ); 00082 00091 Incidence *fromString( const QString &string ); 00092 00100 bool fromString ( RecurrenceRule *rule, const QString &string ); 00101 00106 bool fromRawString( Calendar *calendar, const QByteArray &string ); 00107 00112 QString toString( Calendar *calendar ); 00113 00121 QString toString( Incidence *incidence ); 00122 00130 QString toString( RecurrenceRule *rule ); 00131 00139 QString toICalString( Incidence *incidence ); 00140 00149 QString createScheduleMessage( IncidenceBase *incidence, 00150 iTIPMethod method ); 00151 00162 ScheduleMessage *parseScheduleMessage( Calendar *calendar, const QString &string ); 00163 00172 FreeBusy *parseFreeBusy( const QString &string ); 00173 00179 void setTimeSpec( const KDateTime::Spec &timeSpec ); 00180 00185 KDateTime::Spec timeSpec() const; 00186 00191 QString timeZoneId() const; 00192 00193 private: 00194 //@cond PRIVATE 00195 Q_DISABLE_COPY( ICalFormat ) 00196 class Private; 00197 Private *const d; 00198 //@endcond 00199 }; 00200 00201 } 00202 00203 #endif