KCalCore Library
calformat.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
00029 #ifndef KCALCORE_CALFORMAT_H
00030 #define KCALCORE_CALFORMAT_H
00031
00032 #include "kcalcore_export.h"
00033 #include "calendar.h"
00034
00035 #include <QtCore/QString>
00036
00037 namespace KCalCore {
00038
00039 class Exception;
00040
00048 class KCALCORE_EXPORT CalFormat
00049 {
00050 public:
00054 CalFormat();
00055
00059 virtual ~CalFormat();
00060
00069 virtual bool load( const Calendar::Ptr &calendar, const QString &fileName ) = 0;
00070
00079 virtual bool save( const Calendar::Ptr &calendar, const QString &fileName ) = 0;
00080
00092 virtual bool fromString( const Calendar::Ptr &calendar, const QString &string,
00093 bool deleted = false, const QString ¬ebook = QString() ) = 0;
00094
00109 virtual bool fromRawString( const Calendar::Ptr &calendar, const QByteArray &string,
00110 bool deleted = false, const QString ¬ebook = QString() ) = 0;
00111
00122 virtual QString toString( const Calendar::Ptr &calendar,
00123 const QString ¬ebook = QString(), bool deleted = false ) = 0;
00124
00128 void clearException();
00129
00134 Exception *exception() const;
00135
00143 static void setApplication( const QString &application,
00144 const QString &productID );
00145
00149 static const QString &application();
00150
00154 static const QString &productId();
00155
00160 QString loadedProductId();
00161
00165 static QString createUniqueId();
00166
00173 void setException( Exception *error );
00174
00175 protected:
00181 void setLoadedProductId( const QString &id );
00182
00187 virtual void virtual_hook( int id, void *data );
00188
00189 private:
00190
00191 Q_DISABLE_COPY( CalFormat )
00192 class Private;
00193 Private *const d;
00194
00195 };
00196
00197 }
00198
00199 #endif