KDE 4.5 PyKDE API Reference
  • KDE's Python API
  • Overview
  • PyKDE Home
  • Sitemap
  • Contact Us
 

DBusExportIterator Class Reference

from PyKDE4.soprano import *

Inherits: QObject,Soprano.Error.ErrorCache
Namespace: Soprano.Server

Detailed Description

\class DBusExportIterator dbusexportiterator.h Soprano/Server/DBusExportIterator

Exports a %Soprano Iterator via D-Bus.

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.

Author:
Sebastian Trueg <trueg@kde.org>

\sa soprano_server_dbus

Since:
2.1


Methods

 __init__ (self, Soprano.StatementIterator it, QObject parent=0)
 __init__ (self, Soprano.NodeIterator it, QObject parent=0)
 __init__ (self, Soprano.QueryResultIterator it, QObject parent=0)
QString dbusObjectPath (self)
bool deleteOnClose (self)
Soprano.NodeIterator nodeIterator (self)
Soprano.QueryResultIterator queryResultIterator (self)
bool registerIterator (self, QString dbusObjectPath, QString dbusClient=QString())
 setDeleteOnClose (self, bool deleteOnClose)
Soprano.StatementIterator statementIterator (self)
 unregisterIterator (self)

Method Documentation

__init__ (  self,
Soprano.StatementIterator  it,
QObject  parent=0
)

Create a new instance to export a QueryResultIterator

__init__ (  self,
Soprano.NodeIterator  it,
QObject  parent=0
)

Create a new instance to export a QueryResultIterator

__init__ (  self,
Soprano.QueryResultIterator  it,
QObject  parent=0
)

Create a new instance to export a QueryResultIterator

QString dbusObjectPath (   self )

The path this iterator is exported on. This is an empty string if the iterator is not exported.

bool deleteOnClose (   self )

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.

\sa setDeleteOnClose, Iterator.close

Soprano.NodeIterator nodeIterator (   self )

Returns:
The used NodeIterator or an invalid one if this DBusExportIterator does not export a NodeIterator.

Soprano.QueryResultIterator queryResultIterator (   self )

Returns:
The used QueryResultIterator or an invalid one if this DBusExportIterator does not export a QueryResultIterator.

bool registerIterator (  self,
QString  dbusObjectPath,
QString  dbusClient=QString()
)

Register the iterator under the given D-Bus object path. \sa QDBusConnection.registerObject

Parameters:
dbusObjectPath  The D-Bus object path to register the iterator under.

Parameters:
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.

setDeleteOnClose (  self,
bool  deleteOnClose
)

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.

Warning:
This only works if the iterator is closed from the outside, i.e. by the D-Bus client.

\sa deleteOnClose

Soprano.StatementIterator statementIterator (   self )

Returns:
The used StatementIterator or an invalid one if this DBusExportIterator does not export a StatementIterator.

unregisterIterator (   self )

Unregister the iterator from D-Bus. \sa QDBusConnection.unregisterObject

  • Full Index

Modules

  • akonadi
  • dnssd
  • kdecore
  • kdeui
  • khtml
  • kio
  • knewstuff
  • kparts
  • kutils
  • nepomuk
  • phonon
  • plasma
  • polkitqt
  • solid
  • soprano
This documentation is maintained by Simon Edwards.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal