Soprano 2.6.0

/builddir/build/BUILD/soprano-2.6.0/server/dbus/dbusexportiterator.h

Go to the documentation of this file.
00001 /*
00002  * This file is part of Soprano Project.
00003  *
00004  * Copyright (C) 2008 Sebastian Trueg <trueg@kde.org>
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Library General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Library General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Library General Public License
00017  * along with this library; see the file COPYING.LIB.  If not, write to
00018  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00019  * Boston, MA 02110-1301, USA.
00020  */
00021 
00022 #ifndef _SOPRANO_SERVER_DBUS_ITERATOR_H_
00023 #define _SOPRANO_SERVER_DBUS_ITERATOR_H_
00024 
00025 #include <QtCore/QObject>
00026 #include "error.h"
00027 #include "soprano_export.h"
00028 
00029 namespace Soprano {
00030 
00031     class StatementIterator;
00032     class NodeIterator;
00033     class QueryResultIterator;
00034 
00035     namespace Server {
00067         class SOPRANO_SERVER_EXPORT DBusExportIterator : public QObject, public Error::ErrorCache
00068         {
00069             Q_OBJECT
00070         
00071         public:
00075             DBusExportIterator( StatementIterator it, QObject* parent = 0 );
00076 
00080             DBusExportIterator( NodeIterator it, QObject* parent = 0 );
00081 
00085             DBusExportIterator( QueryResultIterator it, QObject* parent = 0 );
00086 
00090             ~DBusExportIterator();
00091 
00096             StatementIterator statementIterator() const;
00097 
00102             NodeIterator nodeIterator() const;
00103 
00108             QueryResultIterator queryResultIterator() const;
00109 
00114             QString dbusObjectPath() const;
00115 
00123             bool deleteOnClose() const;
00124             
00125         public Q_SLOTS:
00136             void setDeleteOnClose( bool deleteOnClose );
00137 
00148             bool registerIterator( const QString& dbusObjectPath, const QString& dbusClient = QString() );
00149 
00154             void unregisterIterator();
00155 
00156         private:
00157             class Private;
00158             Private* const d;
00159 
00160             Q_PRIVATE_SLOT( d, void slotServiceUnregistered( const QString& name ) )
00161         };
00162     }
00163 }
00164 
00165 #endif