icalformat.h
Go to the documentation of this file.
00001 /* 00002 This file is part of the kcalcore 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 */ 00028 #ifndef KCALCORE_ICALFORMAT_H 00029 #define KCALCORE_ICALFORMAT_H 00030 00031 #include "incidence.h" 00032 #include "freebusy.h" 00033 #include "kcalcore_export.h" 00034 #include "calformat.h" 00035 #include "schedulemessage.h" 00036 00037 #include <KDE/KDateTime> 00038 00039 namespace KCalCore { 00040 00041 class FreeBusy; 00042 class Incidence; 00043 class IncidenceBase; 00044 class RecurrenceRule; 00045 00058 class KCALCORE_EXPORT ICalFormat : public CalFormat 00059 { 00060 public: 00064 ICalFormat(); 00065 00069 virtual ~ICalFormat(); 00070 00075 bool load( const Calendar::Ptr &calendar, const QString &fileName ); 00076 00081 bool save( const Calendar::Ptr &calendar, const QString &fileName ); 00082 00089 bool fromString( const Calendar::Ptr &calendar, const QString &string, 00090 bool deleted = false, const QString ¬ebook = QString() ); 00091 00100 Incidence::Ptr fromString( const QString &string ); 00101 00109 bool fromString ( RecurrenceRule *rule, const QString &string ); 00110 00115 bool fromRawString( const Calendar::Ptr &calendar, const QByteArray &string, 00116 bool deleted = false, const QString ¬ebook = QString() ); 00117 00122 QString toString( const Calendar::Ptr &calendar, 00123 const QString ¬ebook = QString(), bool deleted = false ); 00124 00132 QString toString( const Incidence::Ptr &incidence ); 00133 00142 QByteArray toRawString( const Incidence::Ptr &incidence ); 00143 00151 QString toString( RecurrenceRule *rule ); 00152 00160 QString toICalString( const Incidence::Ptr &incidence ); 00161 00170 QString createScheduleMessage( const IncidenceBase::Ptr &incidence, 00171 iTIPMethod method ); 00172 00183 ScheduleMessage::Ptr parseScheduleMessage( const Calendar::Ptr &calendar, 00184 const QString &string ); 00185 00194 FreeBusy::Ptr parseFreeBusy( const QString &string ); 00195 00201 void setTimeSpec( const KDateTime::Spec &timeSpec ); 00202 00207 KDateTime::Spec timeSpec() const; 00208 00213 QString timeZoneId() const; 00214 00215 protected: 00220 virtual void virtual_hook( int id, void *data ); 00221 00222 private: 00223 //@cond PRIVATE 00224 Q_DISABLE_COPY( ICalFormat ) 00225 class Private; 00226 Private *const d; 00227 //@endcond 00228 }; 00229 00230 } 00231 00232 #endif