#include <Soprano/Backend>
Public Member Functions | |
Backend (const QString &name) | |
virtual | ~Backend () |
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 |
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.
Definition at line 132 of file backend.h.
Soprano::Backend::Backend | ( | const QString & | name | ) |
virtual Soprano::Backend::~Backend | ( | ) | [virtual] |
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.
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. |
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.
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. |
true
if the data was successfully removed, false
otherwise. ErrorCache::lastError() may provide more detailed error information in the latter case.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().
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.
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.
true
if the backend does support the requested features, false
otherwise.