Buteo Synchronization Framework
Public Types | Signals | Public Member Functions | Protected Attributes | List of all members
Buteo::PluginRunner Class Referenceabstract

Base class for running sync plug-ins. More...

#include <PluginRunner.h>

Inheritance diagram for Buteo::PluginRunner:
Buteo::ClientPluginRunner Buteo::ServerPluginRunner

Public Types

enum  PluginType { PLUGIN_CLIENT , PLUGIN_SERVER }
 Plug-in type: client or server.
 

Signals

void transferProgress (const QString &aProfileName, Sync::TransferDatabase aDatabase, Sync::TransferType aType, const QString &aMimeType, int aCommittedItems)
 
void error (const QString &aProfileName, const QString &aMessage, SyncResults::MinorCode aErrorCode)
 
void success (const QString &aProfileName, const QString &aMessage)
 
void storageAccquired (const QString &aMimeType)
 
void syncProgressDetail (const QString &aProfileName, int aProgressDetail)
 
void done ()
 Signal sent when the plug-in runner has finished. More...
 
void newSession (const QString &aDestination)
 
void connectivityStateChanged (Sync::ConnectivityType aType, bool aState)
 

Public Member Functions

 PluginRunner (PluginType aPluginType, const QString &aPluginName, PluginManager *aPluginMgr, PluginCbInterface *aPluginCbIf, QObject *aParent=0)
 Constructor. More...
 
virtual bool init ()=0
 Initializes the plug-in runner. More...
 
virtual bool start ()=0
 Starts running the plug-in. More...
 
virtual void stop ()=0
 Stops running the plug-in. More...
 
virtual void abort (Sync::SyncStatus aStatus=Sync::SYNC_ABORTED)=0
 Aborts running the plug-in. More...
 
virtual SyncResults syncResults ()=0
 Gets the sync results from the plug-in. More...
 
virtual bool cleanUp ()=0
 Calls the cleanup for the plugin. More...
 
PluginType pluginType () const
 Gets the plug-in type. More...
 
QString pluginName () const
 Gets the plug-in name. More...
 
virtual SyncPluginBase * plugin ()=0
 Gets the plug-in associated with this plug-in runner. More...
 

Protected Attributes

bool iInitialized
 Initialization status of the plugin.
 
PluginManager * iPluginMgr
 pointer to an instance of plugin manager
 
PluginCbInterface * iPluginCbIf
 pointer to an instance of synchronizer
 
PluginType iType
 type of the plugin
 
QString iPluginName
 name of the plugin
 

Detailed Description

Base class for running sync plug-ins.

This class hides the details of thread/process handling when sync client and server plug-ins are run. Specific client and server plug-in runner classes are derived from this class.

Constructor & Destructor Documentation

◆ PluginRunner()

PluginRunner::PluginRunner ( PluginType  aPluginType,
const QString &  aPluginName,
PluginManager *  aPluginMgr,
PluginCbInterface *  aPluginCbIf,
QObject *  aParent = 0 
)

Constructor.

Parameters
aPluginTypeType of the plug-in to run
aPluginNameName of the plug-in to run
aPluginMgrPluginManager instance for creating and destroying plug-ins by name
aPluginCbIfCallback interface that the created plug-in can use
aParentParent object

Member Function Documentation

◆ abort()

virtual void Buteo::PluginRunner::abort ( Sync::SyncStatus  aStatus = Sync::SYNC_ABORTED)
pure virtual

Aborts running the plug-in.

Parameters
Statuserror. The plug-in is requested to abort. This function will return when the abort request is sent, but the plug-in will continue running until it has gracefully aborted.

Implemented in Buteo::ServerPluginRunner, and Buteo::ClientPluginRunner.

◆ cleanUp()

virtual bool Buteo::PluginRunner::cleanUp ( )
pure virtual

Calls the cleanup for the plugin.

The plug-in is requested to clean up.

Implemented in Buteo::ServerPluginRunner, and Buteo::ClientPluginRunner.

◆ connectivityStateChanged

void Buteo::PluginRunner::connectivityStateChanged ( Sync::ConnectivityType  aType,
bool  aState 
)
signal

◆ done

void Buteo::PluginRunner::done ( )
signal

Signal sent when the plug-in runner has finished.

Sent when the thread or process running the plug-in has exited

◆ error

void Buteo::PluginRunner::error ( const QString &  aProfileName,
const QString &  aMessage,
SyncResults::MinorCode  aErrorCode 
)
signal

◆ init()

virtual bool Buteo::PluginRunner::init ( )
pure virtual

Initializes the plug-in runner.

Creates the plug-in that will be run and a thread or process for running it.

Returns
Success indicator

Implemented in Buteo::ServerPluginRunner, and Buteo::ClientPluginRunner.

◆ newSession

void Buteo::PluginRunner::newSession ( const QString &  aDestination)
signal
See also
SyncPluginBase::newSession

◆ plugin()

virtual SyncPluginBase* Buteo::PluginRunner::plugin ( )
pure virtual

Gets the plug-in associated with this plug-in runner.

Returns
Plug-in instance

Implemented in Buteo::ServerPluginRunner, and Buteo::ClientPluginRunner.

◆ pluginName()

QString PluginRunner::pluginName ( ) const

Gets the plug-in name.

Returns
Plug-in name

◆ pluginType()

PluginRunner::PluginType PluginRunner::pluginType ( ) const

Gets the plug-in type.

Returns
Plug-in type

◆ start()

virtual bool Buteo::PluginRunner::start ( )
pure virtual

Starts running the plug-in.

Returns
Success indicator.

Implemented in Buteo::ServerPluginRunner, and Buteo::ClientPluginRunner.

◆ stop()

virtual void Buteo::PluginRunner::stop ( )
pure virtual

Stops running the plug-in.

Returns when the plug-in is stopped.

Implemented in Buteo::ServerPluginRunner, and Buteo::ClientPluginRunner.

◆ storageAccquired

void Buteo::PluginRunner::storageAccquired ( const QString &  aMimeType)
signal
See also
SyncPluginBase::storageAcquired

◆ success

void Buteo::PluginRunner::success ( const QString &  aProfileName,
const QString &  aMessage 
)
signal

◆ syncProgressDetail

void Buteo::PluginRunner::syncProgressDetail ( const QString &  aProfileName,
int  aProgressDetail 
)
signal

◆ syncResults()

virtual SyncResults Buteo::PluginRunner::syncResults ( )
pure virtual

Gets the sync results from the plug-in.

Should be called only after success or error signal is received from this class.

Returns
Sync results

Implemented in Buteo::ServerPluginRunner, and Buteo::ClientPluginRunner.

◆ transferProgress

void Buteo::PluginRunner::transferProgress ( const QString &  aProfileName,
Sync::TransferDatabase  aDatabase,
Sync::TransferType  aType,
const QString &  aMimeType,
int  aCommittedItems 
)
signal

The documentation for this class was generated from the following files: