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

KCalCore Library

  • kcalcore
compat.h
Go to the documentation of this file.
1 /*
2  This file is part of the kcalcore library.
3 
4  Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org>
5  Copyright (C) 2003-2004 Reinhold Kainhofer <reinhold@kainhofer.com>
6  Copyright (C) 2012 Christian Mollekopf <mollekopf@kolabsys.com>
7 
8  This library is free software; you can redistribute it and/or
9  modify it under the terms of the GNU Library General Public
10  License as published by the Free Software Foundation; either
11  version 2 of the License, or (at your option) any later version.
12 
13  This library is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  Library General Public License for more details.
17 
18  You should have received a copy of the GNU Library General Public License
19  along with this library; see the file COPYING.LIB. If not, write to
20  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21  Boston, MA 02110-1301, USA.
22 */
32 #ifndef KCALCORE_COMPAT_P_H
33 #define KCALCORE_COMPAT_P_H
34 
35 #include "incidence.h"
36 
37 #include <QtCore/QtGlobal> // for Q_DISABLE_COPY()
38 
39 class QDate;
40 class QString;
41 
42 namespace KCalCore {
43 
44 class Compat;
45 
52 class CompatFactory
53 {
54  public:
62  static Compat *createCompat( const QString &productId, const QString &implementationVersion );
63 };
64 
71 class Compat
72 {
73  public:
77  Compat();
78 
82  virtual ~Compat();
83 
89  virtual void fixRecurrence( const Incidence::Ptr &incidence );
90 
96  virtual void fixEmptySummary( const Incidence::Ptr &incidence );
97 
103  virtual void fixAlarms( const Incidence::Ptr &incidence );
104 
109  virtual void fixFloatingEnd( QDate &date );
110 
116  virtual int fixPriority( int priority );
117 
121  virtual bool useTimeZoneShift();
122 
126  virtual void setCreatedToDtStamp( const Incidence::Ptr &incidence, const KDateTime &dtstamp );
127 
128  private:
129  //@cond PRIVATE
130  Q_DISABLE_COPY( Compat )
131  class Private;
132  Private *d;
133  //@endcond
134 };
135 
140 class CompatDecorator : public Compat
141 {
142  public:
143  explicit CompatDecorator( Compat *decoratedCompat );
144  virtual ~CompatDecorator();
145 
150  virtual void fixRecurrence( const Incidence::Ptr &incidence );
151 
156  virtual void fixEmptySummary( const Incidence::Ptr &incidence );
157 
162  virtual void fixAlarms( const Incidence::Ptr &incidence );
163 
168  virtual void fixFloatingEnd( QDate &date );
169 
174  virtual int fixPriority( int priority );
175 
180  virtual bool useTimeZoneShift();
181 
186  virtual void setCreatedToDtStamp( const Incidence::Ptr &incidence, const KDateTime &dtstamp );
187 
188  private:
189  //@cond PRIVATE
190  Q_DISABLE_COPY( CompatDecorator )
191  class Private;
192  Private *d;
193  //@endcond
194 };
195 
206 class CompatPre35 : public Compat
207 {
208  public:
213  virtual void fixRecurrence( const Incidence::Ptr &incidence );
214 
215  private:
216  //@cond PRIVATE
217  class Private;
218  Private *d;
219  //@endcond
220 };
221 
226 class CompatPre34 : public CompatPre35
227 {
228  public:
233  virtual int fixPriority( int priority );
234 
235  private:
236  //@cond PRIVATE
237  class Private;
238  Private *d;
239  //@endcond
240 };
241 
251 class CompatPre32 : public CompatPre34
252 {
253  public:
258  virtual void fixRecurrence( const Incidence::Ptr &incidence );
259 
260  private:
261  //@cond PRIVATE
262 
263  class Private;
264  Private *d;
265  //@endcond
266 };
267 
283 class CompatPre31 : public CompatPre32
284 {
285  public:
290  virtual void fixFloatingEnd( QDate &date );
291 
296  virtual void fixRecurrence( const Incidence::Ptr &incidence );
297 
298  private:
299  //@cond PRIVATE
300  class Private;
301  Private *d;
302  //@endcond
303 };
304 
309 class Compat32PrereleaseVersions : public Compat
310 {
311  public:
316  virtual bool useTimeZoneShift();
317 
318  private:
319  //@cond PRIVATE
320  class Private;
321  Private *d;
322  //@endcond
323 };
324 
333 class CompatOutlook9 : public Compat
334 {
335  public:
340  virtual void fixAlarms( const Incidence::Ptr &incidence );
341 
342  private:
343  //@cond PRIVATE
344  class Private;
345  Private *d;
346  //@endcond
347 };
348 
353 class CompatPre410 : public CompatDecorator
354 {
355  public:
356  explicit CompatPre410( Compat *decoratedCompat );
357 
362  virtual void setCreatedToDtStamp( const Incidence::Ptr &incidence, const KDateTime &dtstamp );
363 
364  private:
365  //@cond PRIVATE
366  class Private;
367  Private *d;
368  //@endcond
369 };
370 
371 }
372 
373 #endif
KCalCore::Compat::setCreatedToDtStamp
virtual void setCreatedToDtStamp(const Incidence::Ptr &incidence, const KDateTime &dtstamp)
Sets the created and dtstamp.
Definition: compat.cpp:155
KCalCore::Compat::useTimeZoneShift
virtual bool useTimeZoneShift()
Returns true if a timezone shift should be used; false otherwise.
Definition: compat.cpp:150
KCalCore::CompatDecorator::fixEmptySummary
virtual void fixEmptySummary(const Incidence::Ptr &incidence)
Definition: compat.cpp:177
KCalCore::CompatDecorator::setCreatedToDtStamp
virtual void setCreatedToDtStamp(const Incidence::Ptr &incidence, const KDateTime &dtstamp)
Definition: compat.cpp:207
KCalCore::Compat::fixFloatingEnd
virtual void fixFloatingEnd(QDate &date)
Fixes the end date for floating events.
Definition: compat.cpp:133
KCalCore::Compat::~Compat
virtual ~Compat()
Destructor.
Definition: compat.cpp:107
KCalCore::CompatPre410::setCreatedToDtStamp
virtual void setCreatedToDtStamp(const Incidence::Ptr &incidence, const KDateTime &dtstamp)
Definition: compat.cpp:354
KCalCore::CompatDecorator::useTimeZoneShift
virtual bool useTimeZoneShift()
Definition: compat.cpp:202
KCalCore::CompatPre31::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Definition: compat.cpp:254
KCalCore::CompatDecorator::fixAlarms
virtual void fixAlarms(const Incidence::Ptr &incidence)
Definition: compat.cpp:182
KCalCore::Incidence::Ptr
QSharedPointer< Incidence > Ptr
A shared pointer to an Incidence.
Definition: incidence.h:112
KCalCore::CompatDecorator::fixFloatingEnd
virtual void fixFloatingEnd(QDate &date)
Definition: compat.cpp:187
KCalCore::Compat
This class provides compatibility to older or broken calendar files.
Definition: compat.h:71
KCalCore::CompatFactory
Factory for creating the right Compat object.
Definition: compat.h:52
KCalCore::CompatPre32
Compatibility class for KOrganizer pre-3.2 calendar files.
Definition: compat.h:251
KCalCore::Compat::fixPriority
virtual int fixPriority(int priority)
Fixes the priority.
Definition: compat.cpp:145
KCalCore::CompatPre35
Compatibility class for KOrganizer pre-3.5 calendar files.
Definition: compat.h:206
KCalCore::Compat::fixEmptySummary
virtual void fixEmptySummary(const Incidence::Ptr &incidence)
Fixes an empty summary for an incidence.
Definition: compat.cpp:111
KCalCore::CompatPre32::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Definition: compat.cpp:239
KCalCore::CompatPre34::fixPriority
virtual int fixPriority(int priority)
Definition: compat.cpp:229
KCalCore::CompatDecorator::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Definition: compat.cpp:192
KCalCore::Compat32PrereleaseVersions::useTimeZoneShift
virtual bool useTimeZoneShift()
Definition: compat.cpp:344
KCalCore::CompatOutlook9
Compatibility class for Outlook 9 calendar files.
Definition: compat.h:333
KCalCore::CompatPre31
Compatibility class for KOrganizer pre-3.1 calendar files.
Definition: compat.h:283
KCalCore::CompatFactory::createCompat
static Compat * createCompat(const QString &productId, const QString &implementationVersion)
Creates the appropriate Compat class as determined by the Product ID.
Definition: compat.cpp:46
KCalCore::Compat::fixAlarms
virtual void fixAlarms(const Incidence::Ptr &incidence)
Fixes the alarms list an incidence.
Definition: compat.cpp:128
KCalCore::CompatDecorator
Decorator so multiple compatibility classes can be stacked.
Definition: compat.h:140
KCalCore::Compat32PrereleaseVersions
Compatibility class for KOrganizer prerelease 3.2 calendar files.
Definition: compat.h:309
KCalCore::Compat::Compat
Compat()
Constructor.
Definition: compat.cpp:103
KCalCore::CompatPre35::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Definition: compat.cpp:213
incidence.h
This file is part of the API for handling calendar data and defines the Incidence class...
KCalCore::CompatDecorator::fixPriority
virtual int fixPriority(int priority)
Definition: compat.cpp:197
KCalCore::CompatPre34
Compatibility class for KOrganizer pre-3.4 calendar files.
Definition: compat.h:226
KCalCore::CompatOutlook9::fixAlarms
virtual void fixAlarms(const Incidence::Ptr &incidence)
Definition: compat.cpp:324
KCalCore::CompatPre410
Compatibility class for Kontact &lt; 4.10 calendar files.
Definition: compat.h:353
KCalCore::Compat::fixRecurrence
virtual void fixRecurrence(const Incidence::Ptr &incidence)
Fixes the recurrence rule for an incidence.
Definition: compat.cpp:138
KCalCore::CompatPre31::fixFloatingEnd
virtual void fixFloatingEnd(QDate &date)
Definition: compat.cpp:249
This file is part of the KDE documentation.
Documentation copyright © 1996-2013 The KDE developers.
Generated on Tue Nov 26 2013 09:02:04 by doxygen 1.8.5 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.11.3 API Reference

Skip menu "kdepimlibs-4.11.3 API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  • 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