Buteo Synchronization Framework: Buteo::StoragePlugin Class Reference

Buteo Synchronization Framework

Public Types | Public Member Functions | Protected Attributes | List of all members
Buteo::StoragePlugin Class Referenceabstract

Base class for storage plugins. More...

`#include <StoragePlugin.h>`

Inheritance diagram for Buteo::StoragePlugin:

## Public Types
enum | OperationStatus { STATUS_INVALID_FORMAT = -6 , STATUS_STORAGE_FULL = -5 , STATUS_OBJECT_TOO_BIG = -4 , STATUS_ERROR = -3 , STATUS_DUPLICATE = -2 , STATUS_NOT_FOUND = -1 , STATUS_OK = 0 }
| Status of operation performed by storage plugin. More...

## Public Member Functions
| StoragePlugin (const QString &aPluginName)
| Constructor. More...
virtual | ~StoragePlugin ()
| Destructor.
const QString & | getPluginName () const
| Returns the name of this plugin. More...
QString | getProperty (const QString &aProperty) const
| Returns the value of the given property. More...
void | getProperties (QMap< QString, QString > &aProperties) const
| Returns the properties set for this plugin. More...
virtual bool | init (const QMap< QString, QString > &aProperties)=0
| Initializes the plugin. More...
virtual bool | uninit ()=0
| Uninitializes the plugin.
virtual bool | getAllItems (QList< StorageItem * > &aItems)=0
| Returns all known items. More...
virtual bool | getAllItemIds (QList< QString > &aItems)=0
| Returns id's of all known items. More...
virtual bool | getNewItems (QList< StorageItem * > &aNewItems, const QDateTime &aTime)=0
| Returns all new items since aTime. More...
virtual bool | getNewItemIds (QList< QString > &aNewItemIds, const QDateTime &aTime)=0
| Returns id's of all new items since aTime (creation time > aTime) More...
virtual bool | getModifiedItems (QList< StorageItem * > &aModifiedItems, const QDateTime &aTime)=0
| Returns all modified items since aTime. More...
virtual bool | getModifiedItemIds (QList< QString > &aModifiedItemIds, const QDateTime &aTime)=0
| Returns id's of all modified items since aTime. More...
virtual bool | getDeletedItemIds (QList< QString > &aDeletedItemIds, const QDateTime &aTime)=0
| Returns id's of all deleted items since aTime. More...
virtual StorageItem * | newItem ()=0
| Generates a new item. More...
virtual StorageItem * | getItem (const QString &aItemId)=0
| Returns an item based on id. More...
virtual QList< StorageItem * > | getItems (const QStringList &aItemIdList)=0
| Returns items based on ids. More...
virtual OperationStatus | addItem (StorageItem &aItem)=0
| Adds an item to the storage. More...
virtual QList< OperationStatus > | addItems (const QList< StorageItem * > &aItems)=0
| Adds items to the storage. More...
virtual OperationStatus | modifyItem (StorageItem &aItem)=0
| Modifies an item in the storage. More...
virtual QList< OperationStatus > | modifyItems (const QList< StorageItem * > &aItems)=0
| Modifies item in the storage. More...
virtual OperationStatus | deleteItem (const QString &aItemId)=0
| Deletes an item from the storage. More...
virtual QList< OperationStatus > | deleteItems (const QList< QString > &aItemIds)=0
| Deletes an item from the storage. More...

## Protected Attributes
QString | iPluginName
| Name of the plugin.
QMap< QString, QString > | iProperties
| Properties of the plugin as read from profile xml.

## Detailed Description

Base class for storage plugins.

## Member Enumeration Documentation

## ◆ OperationStatus

enum Buteo::StoragePlugin::OperationStatus

Status of operation performed by storage plugin.

Enumerator
STATUS_INVALID_FORMAT | Operation failed because data is in invalid format
STATUS_STORAGE_FULL | Operation failed because storage is full
STATUS_OBJECT_TOO_BIG | Operation failed because object is too big
STATUS_ERROR | General error occurred during operation
STATUS_DUPLICATE | Operation was not performed as object was duplicate
STATUS_NOT_FOUND | Operation failed as object was not found
STATUS_OK | Operation was completed successfully

## Constructor & Destructor Documentation

## ◆ StoragePlugin()

StoragePlugin::StoragePlugin | ( | const QString & | aPluginName | ) |

Constructor.

Parameters

  aPluginName | Name of this storage plugin

## Member Function Documentation

## ◆ addItem()

virtual OperationStatus Buteo::StoragePlugin::addItem | ( | StorageItem & | aItem | ) |
| pure virtual

Adds an item to the storage.

Upon successful addition, item is updated with its assigned ID.

Parameters

  aItem | Item to add

Returns
  Operation status code

## ◆ addItems()

virtual QList< OperationStatus > Buteo::StoragePlugin::addItems | ( | const QList< StorageItem * > & | aItems | ) |
| pure virtual

Adds items to the storage.

Upon successful addition, items are updated with its assigned ID.

Parameters

  aItems | Items to add

Returns
  Operation status codes

## ◆ deleteItem()

virtual OperationStatus Buteo::StoragePlugin::deleteItem | ( | const QString & | aItemId | ) |
| pure virtual

Deletes an item from the storage.

Parameters

  aItemId | Id of the item to be deleted

Returns
  Operation status code

## ◆ deleteItems()

virtual QList< OperationStatus > Buteo::StoragePlugin::deleteItems | ( | const QList< QString > & | aItemIds | ) |
| pure virtual

Deletes an item from the storage.

Parameters

  aItemIds | Id's of the item to be deleted

Returns
  Operation status codes

## ◆ getAllItemIds()

virtual bool Buteo::StoragePlugin::getAllItemIds | ( | QList< QString > & | aItems | ) |
| pure virtual

Returns id's of all known items.

Parameters

  aItems | Array where to place item id's

Returns
  True on success, otherwise false

## ◆ getAllItems()

virtual bool Buteo::StoragePlugin::getAllItems | ( | QList< StorageItem * > & | aItems | ) |
| pure virtual

Returns all known items.

Parameters

  aItems | Array where to place items

Returns
  True on success, otherwise false

## ◆ getDeletedItemIds()

virtual bool Buteo::StoragePlugin::getDeletedItemIds | ( | QList< QString > & | aDeletedItemIds,
|  | const QDateTime & | aTime
| ) |  |
| pure virtual

Returns id's of all deleted items since aTime.

Parameters

  aDeletedItemIds | Array where to place item id's
  aTime | Items with deletion time > aTime and creation time <= aTime are returned.

Returns
  True on success, otherwise false

## ◆ getItem()

virtual StorageItem * Buteo::StoragePlugin::getItem | ( | const QString & | aItemId | ) |
| pure virtual

Returns an item based on id.

Parameters

  aItemId | Id of the item to return

Returns
  On success pointer to the item, otherwise NULL

## ◆ getItems()

virtual QList< StorageItem * > Buteo::StoragePlugin::getItems | ( | const QStringList & | aItemIdList | ) |
| pure virtual

Returns items based on ids.

Parameters

  aItemIdList | List of id's

Returns
  List of items

## ◆ getModifiedItemIds()

virtual bool Buteo::StoragePlugin::getModifiedItemIds | ( | QList< QString > & | aModifiedItemIds,
|  | const QDateTime & | aTime
| ) |  |
| pure virtual

Returns id's of all modified items since aTime.

Parameters

  aModifiedItemIds | Array where to place item id's
  aTime | Items with modification time > aTime and creation time <= aTime are returned.

Returns
  True on success, otherwise false

## ◆ getModifiedItems()

virtual bool Buteo::StoragePlugin::getModifiedItems | ( | QList< StorageItem * > & | aModifiedItems,
|  | const QDateTime & | aTime
| ) |  |
| pure virtual

Returns all modified items since aTime.

Parameters

  aModifiedItems | Array where to place items
  aTime | Items with modification time > aTime and creation time <= aTime are returned.

Returns
  True on success, otherwise false

## ◆ getNewItemIds()

virtual bool Buteo::StoragePlugin::getNewItemIds | ( | QList< QString > & | aNewItemIds,
|  | const QDateTime & | aTime
| ) |  |
| pure virtual

Returns id's of all new items since aTime (creation time > aTime)

Parameters

  aNewItemIds | Array where to place item id's
  aTime | Items with creation time > aTime are returned

Returns
  True on success, otherwise false

## ◆ getNewItems()

virtual bool Buteo::StoragePlugin::getNewItems | ( | QList< StorageItem * > & | aNewItems,
|  | const QDateTime & | aTime
| ) |  |
| pure virtual

Returns all new items since aTime.

Parameters

  aNewItems | Array where to place items
  aTime | Items with creation time > aTime are returned

Returns
  True on success, otherwise false

## ◆ getPluginName()

const QString & StoragePlugin::getPluginName | ( |  | ) | const

Returns the name of this plugin.

Returns
  Name of the plugin

## ◆ getProperties()

void StoragePlugin::getProperties | ( | QMap< QString, QString > & | aProperties | ) | const

Returns the properties set for this plugin.

Parameters

  aProperties | Properties that are set

## ◆ getProperty()

QString StoragePlugin::getProperty | ( | const QString & | aProperty | ) | const

Returns the value of the given property.

Parameters

  aProperty | Property

Returns
  Property value if property found, otherwise empty string

## ◆ init()

virtual bool Buteo::StoragePlugin::init | ( | const QMap< QString, QString > & | aProperties | ) |
| pure virtual

Initializes the plugin.

It is recommended that the plugin should do not do any thread insecure initializations inside constructor, instead it should do inside this method. Parameters that were read from storage profile are passed as parameter to this function.

Parameters

  aProperties | Properties that should be set for this plugin

## ◆ modifyItem()

virtual OperationStatus Buteo::StoragePlugin::modifyItem | ( | StorageItem & | aItem | ) |
| pure virtual

Modifies an item in the storage.

Parameters

  aItem | Item to modify

Returns
  Operation status code

## ◆ modifyItems()

virtual QList< OperationStatus > Buteo::StoragePlugin::modifyItems | ( | const QList< StorageItem * > & | aItems | ) |
| pure virtual

Modifies item in the storage.

Parameters

  aItems | Items to add

Returns
  Operation status codes

## ◆ newItem()

virtual StorageItem * Buteo::StoragePlugin::newItem | ( |  | ) |
| pure virtual

Generates a new item.

Returned item is temporary. Therefore returned item ALWAYS has its id set as empty ID (""). ID will be assigned only after addItem() has been called for the item.

Returns
  On success pointer to the item generated, otherwise NULL

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

- StoragePlugin.h
- StoragePlugin.cpp