summaryrefslogtreecommitdiffstats
path: root/doc/src
diff options
context:
space:
mode:
authorKevin Wu Won <kevin.wu-won@nokia.com>2010-07-13 12:08:17 +1000
committerKevin Wu Won <kevin.wu-won@nokia.com>2010-07-13 12:08:17 +1000
commitca0bc0d8a7f3dd43118d23524e1b7c20b562129c (patch)
tree9caf55cafca7f78f1dcf664f3f93be3cbb83b283 /doc/src
parent794eb2a19d5abf69fe887be0e60bab4666a2104e (diff)
Added documentation for all the Versit plugin stuff
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/versit.qdoc9
-rw-r--r--doc/src/versitplugins.qdoc64
2 files changed, 72 insertions, 1 deletions
diff --git a/doc/src/versit.qdoc b/doc/src/versit.qdoc
index bdd2823ce3..43de7b9736 100644
--- a/doc/src/versit.qdoc
+++ b/doc/src/versit.qdoc
@@ -63,7 +63,9 @@ Versit \reg is a trademark of the Internet Mail Consortium.
\section1 Usage
\snippet ../../doc/src/snippets/qtversitdocsample/qtversitdocsample.cpp Complete example
-\section1 Main Classes
+\section1 Classes
+The main classes for a client interested in importing or exporting vCard and
+iCalendar documents are:
\list
\o \l{QVersitProperty}
\o \l{QVersitDocument}
@@ -74,4 +76,9 @@ Versit \reg is a trademark of the Internet Mail Consortium.
\o \l{QVersitOrganizerImporter}
\o \l{QVersitOrganizerExporter}
\endlist
+
+It is also possible to extend the behaviour of the importer and exporter classes
+by writing handlers and plugins. For more details, please see the document on
+\l{Versit Plugins}.
+\annotatedlist versit-extension
*/
diff --git a/doc/src/versitplugins.qdoc b/doc/src/versitplugins.qdoc
new file mode 100644
index 0000000000..bcf60bec43
--- /dev/null
+++ b/doc/src/versitplugins.qdoc
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in a
+** written agreement between you and Nokia.
+**
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of this
+** file.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+\page versitplugins.html
+
+\title Versit Plugins
+
+\section1 Introduction
+
+While the \l{Versit API} provides a convenient way to import and export vCards,
+it is common to encounter domain-specific vCard properties that the Versit
+importer and exporter classes don't support. While it would be convenient if
+the base Versit module could support everything, that is not possible because
+there may be properties with the same name that have different semantics in
+different domains.
+
+\section1 Local Extension with Handlers
+
+To remedy this, some hooks are provided to allow clients to alter the behaviour
+of QVersitContactImporter and QVersitContactExporter. The basic mechanisms that
+allow this are the QVersitContactImporterPropertyHandlerV2 and the
+QVersitContactExporterDetailHandlerV2 interfaces. A client can supplement the
+importer and exporter classes by implementing these interfaces and associating
+them using QVersitContactImporter::setPropertyHandler() and
+QVersitContactExporter::setDetailHandler().
+
+\section1 Global Extension with Plugins
+
+While these interfaces allow a single client to supplement the behaviour of
+import and export, there are many cases where the entire deployment of the
+Versit library will be operating under a known context. For example, the
+library might be deployed on a device on a particular network where all of its
+peers are known to support certain properties. In this situation, it's
+desirable for all clients of the Versit library on that device to support those
+properties through the Versit API. In this situation, it is possible to extend
+the library globally by installing plugins that provide handlers automatically
+to all users of the library on the system.
+
+*/