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
00022
00023
00036 #ifndef MKCAL_COMPAT_P_H
00037 #define MKCAL_COMPAT_P_H
00038
00039 #include <incidence.h>
00040 #include "mkcal_export.h"
00041
00042 #include <QtCore/QtGlobal>
00043
00044 class QDate;
00045 class QString;
00046
00047 namespace mKCal {
00048
00049 class Compatibility;
00050
00056 class MKCAL_EXPORT Compatibility
00057 {
00058 public:
00062 typedef QSharedPointer<Compatibility> Ptr;
00063
00067 enum DirectionType {
00068 Import,
00069 Export,
00070 };
00071
00075 enum FixType {
00076 FixAlarm,
00077 FixRecurrence,
00078 };
00079
00083 Compatibility();
00084
00088 virtual ~Compatibility();
00089
00096 virtual void fixAll( const KCalCore::Incidence::Ptr &incidence, Compatibility::DirectionType type );
00097
00105 virtual void fixElement( Compatibility::FixType element, const KCalCore::Incidence::Ptr &incidence, Compatibility::DirectionType type );
00106
00114 virtual void virtual_hook( int id, void *data );
00115
00116 private:
00117
00118 Q_DISABLE_COPY( Compatibility )
00119 class Private;
00120 Private *d;
00121
00122 };
00123
00130 class MKCAL_EXPORT CompatibilityFactory
00131 {
00132 public:
00140 static Compatibility::Ptr createCompatibility( const QString &productId );
00141 };
00142
00150 class CompatNokiaPhones : public Compatibility
00151 {
00152 public:
00153
00154 CompatNokiaPhones();
00155
00156 ~CompatNokiaPhones();
00161 virtual void fixAll( const KCalCore::Incidence::Ptr &incidence, Compatibility::DirectionType type );
00162
00167 virtual void fixElement( Compatibility::FixType element, const KCalCore::Incidence::Ptr &incidence, Compatibility::DirectionType type );
00168
00169 private:
00170
00171 class Private;
00172 Private *d;
00173
00174 };
00175
00176 }
00177
00178 #endif