#include <Soprano/Server/DBusExportIterator>
Public Slots | |
void | setDeleteOnClose (bool deleteOnClose) |
bool | registerIterator (const QString &dbusObjectPath, const QString &dbusClient=QString()) |
void | unregisterIterator () |
Public Member Functions | |
DBusExportIterator (StatementIterator it, QObject *parent=0) | |
DBusExportIterator (NodeIterator it, QObject *parent=0) | |
DBusExportIterator (QueryResultIterator it, QObject *parent=0) | |
~DBusExportIterator () | |
StatementIterator | statementIterator () const |
NodeIterator | nodeIterator () const |
QueryResultIterator | queryResultIterator () const |
QString | dbusObjectPath () const |
bool | deleteOnClose () const |
The DBusExportIterator can be used to export a single iterator via D-Bus. This may be useful in case one does not want to expose the complete Model API but restrict access via custom methods that return Soprano Iterators.
The most common usage is probably as a fire-and-forget class:
void myDbusMethod( const QDBusMessage& m ) { Soprano::StatementIterator it = model->listStatements(); Soprano::Server::DBusExportIterator* dbusIt = new Soprano::Server::DBusExportIterator( it, this ); dbusIt->setDeleteOnClose( true ); dbusIt->registerIterator( myFancyDBusObjectPath, m.service() ); return myFancyDBusObjectPath; }
This is a class for advanced usage. In most situations using DBusExportModel or even ServerCore::registerAsDBusObject is probably enough.
Definition at line 67 of file dbusexportiterator.h.
Soprano::Server::DBusExportIterator::DBusExportIterator | ( | StatementIterator | it, | |
QObject * | parent = 0 | |||
) |
Create a new instance to export a StatementIterator
Soprano::Server::DBusExportIterator::DBusExportIterator | ( | NodeIterator | it, | |
QObject * | parent = 0 | |||
) |
Create a new instance to export a NodeIterator
Soprano::Server::DBusExportIterator::DBusExportIterator | ( | QueryResultIterator | it, | |
QObject * | parent = 0 | |||
) |
Create a new instance to export a QueryResultIterator
Soprano::Server::DBusExportIterator::~DBusExportIterator | ( | ) |
Destructor
StatementIterator Soprano::Server::DBusExportIterator::statementIterator | ( | ) | const |
NodeIterator Soprano::Server::DBusExportIterator::nodeIterator | ( | ) | const |
QueryResultIterator Soprano::Server::DBusExportIterator::queryResultIterator | ( | ) | const |
QString Soprano::Server::DBusExportIterator::dbusObjectPath | ( | ) | const |
The path this iterator is exported on. This is an empty string if the iterator is not exported.
bool Soprano::Server::DBusExportIterator::deleteOnClose | ( | ) | const |
The DBusExportIterator instance can delete itself once the iterator is closed. The default value is false, i.e. the creator has to delete the instance.
void Soprano::Server::DBusExportIterator::setDeleteOnClose | ( | bool | deleteOnClose | ) | [slot] |
Set if the iterator should delete itself once it has been closed. The default value is false, i.e. the creator has to delete the instance.
bool Soprano::Server::DBusExportIterator::registerIterator | ( | const QString & | dbusObjectPath, | |
const QString & | dbusClient = QString() | |||
) | [slot] |
Register the iterator under the given D-Bus object path.
dbusObjectPath | The D-Bus object path to register the iterator under. | |
dbusClient | The optional D-Bus client which uses the iterator, i.e. which called the method that triggered the creation of the iterator. If set, the iterator will be closed once the client dies. In combination with setDeleteOnClose this class can thus be used in a fire-and-forget manner. |
void Soprano::Server::DBusExportIterator::unregisterIterator | ( | ) | [slot] |
Unregister the iterator from D-Bus.