[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-pim
Subject: Re: [Kde-pim] RFC:KitchenSync Are you ready for syncing?
From: Cornelius Schumacher <schumacher () kde ! org>
Date: 2002-01-23 12:57:19
[Download RAW message or body]
On Wednesday 23 January 2002 12:27, Holger Freyther wrote:
>
> KSyncEntry is a base class for all SyncingOperations.
> It have a QString type() and a uuic method QString uuid() not more at the
> moment.
If you are talking about the libksync class KSyncEntry this is not quite
correct. For each data type you want to sync you have to implement two
interfaces: KSyncEntry, which represents an individual entry, and KSyncee,
which represents the set of data entries to be synced. A third class
(KSyncer) operates on these two classes and performs the actual syncing
algorithm.
All these classes exist and work and can be found at
kdepim/ksync/lib/ksyncer.h.
> Then there will be libkunit which expose functions, slot, signals for
> propagating syncs, writing, getting KSyncEntries.
Can we find a better name than "libkunit"? As I understand it, what you call
libkunit would be the communication backend to the devices, which are to be
synced, right?
What about "libkdevicesync" or "libkdevicecomm" or something like that?
> There's also a way to
> configure a unit.
What do you mean by unit? A (mobile) device?
> On startup KitchenSync will query(const QString
> &category). Where category is the wished category of the device (PDA, file,
> Cell-Phone...). Then KitchenSync will ask the user which ones to use and
> then kindly ask libkunit to load the plugin which then returns a unique id
> which lasts only for the runtime. KicthenSync needs to remember this id
> cause it will be used for all operations.
In other words: KitchenSync will be able to sync with multiple devices. The
user tells, which devices to be used, and KitchenSync loads the required
libraries and offers whatever GUI elements are needed for that device
(perhaps not much more than a status display in many cases).
> KitchenSyncApp will then one time get a wantsToSync( int id ). The signals
> comes from the libkunit plugin and will get emitted by libkunit.
> KitchenSyncApp will then get the QValueList<KSyncEntry> and checks the type
> if a manipulator plugin is installed libksync will be called to load a sync
> plugin.
What's a "manipulator plugin"? What's exactly a "sync plugin"?
> What gis proposed firsrt and I'm propsoing now is to make libkunit plugins
> a IO-Slave with additional features inside the libkunit.
A KIO slave is not a plugin. It starts an external process. As we discussed
in the past it might not be possible to implement communication with a mobile
device by an KIO slave. The example was the Palm Pilot, which needs the sync
button to be pressed, before any data can be read.
For many cases it's probably too much overhead and not flexible enough to
implement communication to a device as a KIO slave. I don't say that using
KIO slaves is a bad idea, but I would propose to make a special plugin, which
provides the capability to use KIO slaves, but it shouldn't be required
that all communication is done by KIO slaves.
--
Cornelius Schumacher <schumacher@kde.org>
_______________________________________________
kde-pim mailing list
kde-pim@mail.kde.org
http://mail.kde.org/mailman/listinfo/kde-pim
kde-pim home page at http://pim.kde.org/
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic