//Auto-generated by kalyptus. DO NOT EDIT.
namespace Soprano.Client {
    using Soprano;
    using System;
    using Qyoto;
    /// <remarks>
    ///  \class DBusStatementIterator dbusstatementiterator.h Soprano/Client/DBusStatementIterator
    ///  \brief Interface to a DBus server statement iterator.
    ///  The DBusStatementIterator provides a fully functional interface
    ///  to a StatementIterator provided through a %Soprano D-Bus server. It can thus,
    ///  be seen as the counterpart to Server.DBusExportIterator.
    ///  Given the DBus service name and the object path of the StatementIterator
    ///  in question it handles all DBus communication transparently.
    ///  Normally there is no need to use this class directly as 
    ///  DBusModel does create instances of it on request.
    ///  \author Sebastian Trueg <trueg@kde.org>
    ///  \sa \ref soprano_server_dbus
    ///  \since 2.1
    ///          </remarks>        <short>    \class DBusStatementIterator dbusstatementiterator.</short>
    [SmokeClass("Soprano::Client::DBusStatementIterator")]
    public class DBusStatementIterator : Soprano.StatementIterator, IDisposable {
        protected DBusStatementIterator(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(DBusStatementIterator), this);
        }
        /// <remarks>
        ///  Create a new DBus StatementIterator interface.
        ///  \param serviceName The name of the DBus service that provides the StatementIterator.
        ///  \param dbusObject The path to the StatementIterator object in the DBus service.
        ///              </remarks>        <short>    Create a new DBus StatementIterator interface.</short>
        public DBusStatementIterator(string serviceName, string dbusObject) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("DBusStatementIterator$$", "DBusStatementIterator(const QString&, const QString&)", typeof(void), typeof(string), serviceName, typeof(string), dbusObject);
        }
        ~DBusStatementIterator() {
            interceptor.Invoke("~DBusStatementIterator", "~DBusStatementIterator()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~DBusStatementIterator", "~DBusStatementIterator()", typeof(void));
        }
    }
}
