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

soprano

Soprano::Client::DBusModel

Soprano::Client::DBusModel Class Reference

Interface to a DBus server model. More...

#include <Soprano/Client/DBusModel>

Inheritance diagram for Soprano::Client::DBusModel:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 DBusModel (const QString &serviceName, const QString &dbusObject, const Backend *backend=0)
 ~DBusModel ()
Error::ErrorCode addStatement (const Statement &statement)
bool asyncCalls () const
bool containsAnyStatement (const Statement &statement) const
bool containsStatement (const Statement &statement) const
Node createBlankNode ()
QueryResultIterator executeQuery (const QString &query, Query::QueryLanguage language, const QString &userQueryLanguage=QString()) const
bool isEmpty () const
NodeIterator listContexts () const
StatementIterator listStatements (const Statement &partial) const
Error::ErrorCode removeAllStatements (const Statement &statement)
Error::ErrorCode removeStatement (const Statement &statement)
void setAsyncCalls (bool b)
int statementCount () const

Detailed Description

Interface to a DBus server model.

The DBusModel provides a fully functional interface to a Model provided through a Soprano DBus server. It can thus, be seen as the counterpart to Server::DBusExportModel.

Given the DBus service name and the object path of the Model in question it handles all DBus communication transparently.

Normally there is no need to use this class directly as DBusClient does create instances of it on request.

Warning:
DBusModel is not thread-safe by default and has to be protected if is is to be used from different threads (This can be done via Soprano::Util::MutexModel in Soprano::Util::MutexModel::ReadWriteMultiThreading mode or via setting the model to async mode via setAsyncCalls()).
Author:
Sebastian Trueg <trueg@kde.org>
See also:
Soprano D-Bus Interface

Definition at line 56 of file dbusmodel.h.


Constructor & Destructor Documentation

Soprano::Client::DBusModel::DBusModel ( const QString &  serviceName,
const QString &  dbusObject,
const Backend *  backend = 0 
)

Create a new DBus Model interface.

Parameters:
serviceName The name of the DBus service that provides the Model.
dbusObject The path to the Model object in the DBus service.
backend The backend that created this model. Should always be set to 0.
Soprano::Client::DBusModel::~DBusModel (  ) 

Member Function Documentation

Error::ErrorCode Soprano::Client::DBusModel::addStatement ( const Statement &  statement  )  [virtual]

Add the Statement to the Model.

Parameters:
statement The Statement to add.

Implements Soprano::Model.

bool Soprano::Client::DBusModel::asyncCalls (  )  const
Returns:
true if asyncronous calls are enabled.
bool Soprano::Client::DBusModel::containsAnyStatement ( const Statement &  statement  )  const [virtual]

Default implementation is based on Model::listStatements.

Reimplemented from Soprano::StorageModel.

bool Soprano::Client::DBusModel::containsStatement ( const Statement &  statement  )  const [virtual]

Default implementation is based on Model::listStatements.

Reimplemented from Soprano::StorageModel.

Node Soprano::Client::DBusModel::createBlankNode (  )  [virtual]

Creates a new blank node with a unique identifier.

Returns:
A blank node that can be used to create new statements.

Implements Soprano::Model.

QueryResultIterator Soprano::Client::DBusModel::executeQuery ( const QString &  query,
Query::QueryLanguage  language,
const QString &  userQueryLanguage = QString() 
) const [virtual]

query_api_disabled

Execute the given query over the Model.

This is a const read-only method. As such Model implementations should not support SPARQL extensions such as INSERT or UPDATE through this method. A future version of Soprano will provide an additional API for queries that change the Model.

Parameters:
query The query to evaluate.
language The query language used to encode query.
userQueryLanguage If language equals Query::QueryLanguageUser userQueryLanguage defines the language to use.
Returns:
An iterator over all results matching the query, on error an invalid iterator is returned.

Implements Soprano::Model.

bool Soprano::Client::DBusModel::isEmpty (  )  const [virtual]

Default implementation is based on Model::statementCount.

Reimplemented from Soprano::StorageModel.

NodeIterator Soprano::Client::DBusModel::listContexts (  )  const [virtual]

List all contexts in the model, i.e.

all named graphs.

Returns:
An iterator over context Nodes, on error an invalid iterator is returned.

Implements Soprano::Model.

StatementIterator Soprano::Client::DBusModel::listStatements ( const Statement &  partial  )  const [virtual]

Return an iterator over Model Statements that "partial" match the input Statement.

Parameters:
partial The partial Statement to match.
Returns:
An iterator for all the matched Statements, on error an invalid iterator is returned.

Implements Soprano::Model.

Error::ErrorCode Soprano::Client::DBusModel::removeAllStatements ( const Statement &  statement  )  [virtual]

Default implementation is based on listStatements() and removeStatement().

Reimplemented from Soprano::StorageModel.

Error::ErrorCode Soprano::Client::DBusModel::removeStatement ( const Statement &  statement  )  [virtual]

Remove one statement.

For removing statements with wildward matching see removeAllStatements().

Parameters:
statement The statement that should be removed. This has to be a valid statement.
Returns:
Error::ErrorNone on success and an error code if statement was invalid or an error occured.

Implements Soprano::Model.

void Soprano::Client::DBusModel::setAsyncCalls ( bool  b  ) 

Configure DBusModel to use asyncronous calls over DBus.

With asyncronous calls DBusModel will enter local event loops while waiting for the reply. This way multiple calls can be performed interweaved. However, the application does not block, i.e. events (such as signals and slots) are handled which might not be wanted. If that is the case it is better to use Util::MutexModel instead.

Parameters:
b If true asyncronous calls are enabled.

Per default asyncronous calls are disabled.

Warning:
Asyncronous calls only work in combination with a QCoreApplication instance.
See also:
QDBus::BlockWithGui
int Soprano::Client::DBusModel::statementCount (  )  const [virtual]

The number of statements stored in this Model.

Returns:
The size of the Model, or -1 on error.

Implements Soprano::Model.


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

soprano

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

KDE Support

Skip menu "KDE Support"
  • akonadi
  • Decibel
  • grantlee
  • kdewin
  • phonon
  •     Backend
  • polkit-qt
  • qca
  • qimageblitz
  • soprano
  • strigi
  •     searchclient
  •     streamanalyzer
  •     streams
Generated for KDE Support by doxygen 1.5.9-20090814
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