|
ButeoSynchronizationFramework
|
24 #ifndef PLUGINMANAGER_H
25 #define PLUGINMANAGER_H
29 #include <QReadWriteLock>
34 class StorageChangeNotifierPlugin;
38 class PluginCbInterface;
42 class ClientPluginTest;
43 class ServerPluginTest;
44 class StoragePluginTest;
46 typedef ClientPlugin* (*FUNC_CREATE_CLIENT)(
const QString&,
49 typedef void (*FUNC_DESTROY_CLIENT)( ClientPlugin* );
51 typedef ServerPlugin* (*FUNC_CREATE_SERVER)(
const QString&,
54 typedef void (*FUNC_DESTROY_SERVER)( ServerPlugin* );
56 typedef StoragePlugin* (*FUNC_CREATE_STORAGE)(
const QString&);
57 typedef void (*FUNC_DESTROY_STORAGE)(StoragePlugin*);
59 typedef StorageChangeNotifierPlugin* (*FUNC_CREATE_STORAGECHANGENOTIFIER)(
const QString&);
60 typedef void (*FUNC_DESTROY_STORAGECHANGENOTIFIER)(StorageChangeNotifierPlugin*);
146 void onProcessFinished(
int exitCode, QProcess::ExitStatus exitStatus );
156 DllInfo() : iHandle( NULL ), iRefCount( 0 ) { }
164 void* loadDll(
const QString& aPath );
166 void* getDllHandle(
const QString& aPath );
168 void unloadDll(
const QString& aPath );
170 static bool killProcess(
const QString& aPath );
172 QProcess* startOOPPlugin(
const QString& aPath,
173 const QString& aPluginName,
174 const QString& aProfileName );
176 void stopOOPPlugin(
const QString& aPath );
190 QReadWriteLock iDllLock;
192 QString iProcBinaryPath;
194 #ifdef SYNCFW_UNIT_TESTS
195 friend class ClientPluginTest;
196 friend class ServerPluginTest;
197 friend class StoragePluginTest;
void destroyStorageChangeNotifier(StorageChangeNotifierPlugin *aPlugin)
Destroys a storage change notifier plugin instance.
Definition: PluginManager.cpp:140
Manages plugins.
Definition: PluginManager.h:67
Base class for storage plugins.
Definition: StoragePlugin.h:38
StoragePlugin * createStorage(const QString &aPluginName)
Creates a new storage plugin instance.
Definition: PluginManager.cpp:178
Base class for server plugins.
Definition: ServerPlugin.h:36
A top level synchronization profile.
Definition: SyncProfile.h:48
void destroyServer(ServerPlugin *aPlugin)
Destroys a server plugin.
Definition: PluginManager.cpp:442
ClientPlugin * createClient(const QString &aPluginName, const SyncProfile &aProfile, PluginCbInterface *aCbInterface)
Creates a new client plugin instance.
Definition: PluginManager.cpp:258
Implement this class to notify about changes in a specific storage - contacts/calendar/sms,...
Definition: StorageChangeNotifierPlugin.h:15
ServerPlugin * createServer(const QString &aPluginName, const Profile &aProfile, PluginCbInterface *aCbInterface)
Creates a new server plugin instance.
Definition: PluginManager.cpp:373
This class represents a single profile, a collection of settings or data releated to some entity.
Definition: Profile.h:52
void destroyClient(ClientPlugin *aPlugin)
Destroys a client plugin instance.
Definition: PluginManager.cpp:327
~PluginManager()
Destructor.
Definition: PluginManager.cpp:86
void destroyStorage(StoragePlugin *aPlugin)
Destroys a storage plugin instance.
Definition: PluginManager.cpp:219
Base class for client plugins.
Definition: ClientPlugin.h:37
Interface which client and server plugins can use to communicate with synchronization daemon.
Definition: PluginCbInterface.h:38
StorageChangeNotifierPlugin * createStorageChangeNotifier(const QString &aStorageName)
Creates a new storage change notifier plugin for the storage aStoragName.
Definition: PluginManager.cpp:100