• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

soprano

Soprano::Backend

Soprano::Backend Class Reference

#include <Soprano/Backend>

Inheritance diagram for Soprano::Backend:

Inheritance graph
[legend]

List of all members.


Detailed Description

Soprano::Backend defines the interface for a Soprano backend plugin.

The Backend interface defines two important methods: createModel() and supportedFeatures(). It inherits from Error::ErrorCache for error handling and subclasses should use clearError() and setError() to report the status.

See also:
Writing Soprano Plugins
Author:
Sebastian Trueg <trueg@kde.org>

Definition at line 132 of file backend.h.


Public Member Functions

 Backend (const QString &name)
virtual StorageModel * createModel (const BackendSettings &settings=BackendSettings()) const =0
virtual bool deleteModelData (const BackendSettings &settings) const =0
virtual BackendFeatures supportedFeatures () const =0
virtual QStringList supportedUserFeatures () const
bool supportsFeatures (BackendFeatures feature, const QStringList &userFeatures=QStringList()) const
virtual ~Backend ()

Constructor & Destructor Documentation

Soprano::Backend::Backend ( const QString &  name  ) 

virtual Soprano::Backend::~Backend (  )  [virtual]


Member Function Documentation

virtual StorageModel* Soprano::Backend::createModel ( const BackendSettings &  settings = BackendSettings()  )  const [pure virtual]

Creates a new RDF model with options.

The caller takes ownership and has to care about deletion.

Parameters:
settings The settings that should be used to create the Model. Backend implementations should never ignore settings but rather return 0 if an option is not supported. Backends can, however, define their own default settings. Invalid settings should result in an Error with value Error::ErrorInvalidArgument.
See also:
BackendSetting

virtual bool Soprano::Backend::deleteModelData ( const BackendSettings &  settings  )  const [pure virtual]

Phyically delete all data for a specific model.

For most backends this means deleting some files on the hard disk. With others it may mean to delete tables from an SQL database.

Parameters:
settings The settings that were used to create the model which should be deleted. For most backends the Soprano::BackendOptionStorageDir setting is probably most important. If the settings do not provide enough information to uniquely identify the model to delete, the method should be terminated with an Error::ErrorInvalidArgument error.
Returns:
true if the data was successfully removed, false otherwise. ErrorCache::lastError() may provide more detailed error information in the latter case.
Since:
2.1

virtual BackendFeatures Soprano::Backend::supportedFeatures (  )  const [pure virtual]

Each backend can support a set of features.

Backends without any features do not make much sense. If the features include Soprano::BackendFeatureUser additional user features not defined in Backend::BackendFeature can be supported via supportedUserFeatures().

Returns:
A combination of Soprano::BackendFeature values.

virtual QStringList Soprano::Backend::supportedUserFeatures (  )  const [virtual]

A Backend can support additional features that are not defined in Backend::BackendFeature.

These user defined features have string identifiers. If a backend supports additional features it has to include Soprano::BackendFeatureUser in supportedFeatures().

The default implementation returns an empty list.

Returns:
the list of supported user features.

bool Soprano::Backend::supportsFeatures ( BackendFeatures  feature,
const QStringList &  userFeatures = QStringList() 
) const

Check if a backend supports certain features.

If feature includes Soprano::BackendFeatureUser the list if userFeatures is also compared.

Returns:
true if the backend does support the requested features, false otherwise.


The documentation for this class was generated from the following file:
  • backend.h

soprano

Skip menu "soprano"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • akonadi
  • Decibel
  • eigen
  • Eigen2
  • kdewin32
  • Phonon
  •     Backend
  • qca
  • qimageblitz
  • soprano
  • strigi
  •     searchclient
  •     streamanalyzer
  •     streams
Generated for API Reference by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal