//Auto-generated by kalyptus. DO NOT EDIT.
namespace Soprano.Util {
    using Soprano;
    using System;
    using Qyoto;
    /// <remarks>
    ///  \class AsyncResult asyncmodel.h Soprano/Util/AsyncResult
    ///  \brief A delayed result as returned by AsyncModel.
    ///  \author Sebastian Trueg <trueg@kde.org>
    ///  \since 2.1
    ///          </remarks>        <short>    \class AsyncResult asyncmodel.</short>
    [SmokeClass("Soprano::Util::AsyncResult")]
    public class AsyncResult : QObject, Soprano.Error.IErrorCache {
        protected AsyncResult(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(AsyncResult), this);
        }
        // void setResult(const QVariant& arg1,const Soprano::Error::Error& arg2); >>>> NOT CONVERTED
        // Error lastError(); >>>> NOT CONVERTED
        // void setError(const Error& arg1); >>>> NOT CONVERTED
        /// <remarks>
        ///  The result of the async operation. Its type is dependent
        ///  on the operation (for example Error.ErrorCode for 
        ///  AsyncModel.AddStatementAsync or StatementIterator for 
        ///  AsyncModel.ListStatementsAsync). Types may need to be
        ///  registered with Q_DECLARE_METATYPE.
        ///  Use Error.ErrorCache.LastError() to check
        ///  for error details.
        ///  This value is not ready before resultReady()
        ///  has been emitted. <b>Do only use this in a slot connected to
        ///  resultReady.</b>
        ///  \sa errorCode, statementIterator, nodeIterator, queryResultIterator, node
        ///              </remarks>        <short>    The result of the async operation.</short>
        public QVariant Value() {
            return (QVariant) interceptor.Invoke("value", "value() const", typeof(QVariant));
        }
        /// <remarks>
        ///  Convinience method which converts value() into
        ///  a Error.ErrorCode as returned for the following AsyncModel methods:
        ///  <li>AsyncModel</li>.AddStatementAsync
        ///  <li>AsyncModel</li>.RemoveStatementAsync
        ///  <li>AsyncModel</li>.RemoveAllStatementsAsync
        ///  \sa value()
        ///  \since 2.2
        ///              </remarks>        <short>    Convinience method which converts value() into  a Error.ErrorCode as returned for the following AsyncModel methods:  \li AsyncModel.AddStatementAsync  \li AsyncModel.RemoveStatementAsync  \li AsyncModel.RemoveAllStatementsAsync </short>
        public Soprano.Error.ErrorCode ErrorCode() {
            return (Soprano.Error.ErrorCode) interceptor.Invoke("errorCode", "errorCode() const", typeof(Soprano.Error.ErrorCode));
        }
        /// <remarks>
        ///  Convinience method which converts value() into
        ///  a StatementIterator as returned AsyncModel.ListStatementsAsync.
        ///  \sa value()
        ///  \since 2.2
        ///              </remarks>        <short>    Convinience method which converts value() into  a StatementIterator as returned AsyncModel.ListStatementsAsync.</short>
        public Soprano.StatementIterator StatementIterator() {
            return (Soprano.StatementIterator) interceptor.Invoke("statementIterator", "statementIterator() const", typeof(Soprano.StatementIterator));
        }
        /// <remarks>
        ///  Convinience method which converts value() into
        ///  a StatementIterator as returned AsyncModel.ListContextsAsync.
        ///  \sa value()
        ///  \since 2.2
        ///              </remarks>        <short>    Convinience method which converts value() into  a StatementIterator as returned AsyncModel.ListContextsAsync.</short>
        public Soprano.NodeIterator NodeIterator() {
            return (Soprano.NodeIterator) interceptor.Invoke("nodeIterator", "nodeIterator() const", typeof(Soprano.NodeIterator));
        }
        /// <remarks>
        ///  Convinience method which converts value() into
        ///  a StatementIterator as returned AsyncModel.ExecuteQueryAsync.
        ///  \sa value()
        ///  \since 2.2
        ///              </remarks>        <short>    Convinience method which converts value() into  a StatementIterator as returned AsyncModel.ExecuteQueryAsync.</short>
        public Soprano.QueryResultIterator QueryResultIterator() {
            return (Soprano.QueryResultIterator) interceptor.Invoke("queryResultIterator", "queryResultIterator() const", typeof(Soprano.QueryResultIterator));
        }
        /// <remarks>
        ///  Convinience method which converts value() into
        ///  a StatementIterator as returned AsyncModel.CreateBlankNodeAsync.
        ///  \sa value()
        ///  \since 2.2
        ///              </remarks>        <short>    Convinience method which converts value() into  a StatementIterator as returned AsyncModel.CreateBlankNodeAsync.</short>
        public Soprano.Node Node() {
            return (Soprano.Node) interceptor.Invoke("node", "node() const", typeof(Soprano.Node));
        }
        /// <remarks>
        ///  Internal method. Do not call.
        ///              </remarks>        <short>    Internal method.</short>
        /// <remarks>
        ///  Get the last error that occured in the current thread.
        ///              </remarks>        <short>    Get the last error that occured in the current thread.</short>
        /// <remarks>
        ///  Reset the error for the current thread to no error.
        ///              </remarks>        <short>    Reset the error for the current thread to no error.</short>
        protected void ClearError() {
            interceptor.Invoke("clearError", "clearError() const", typeof(void));
        }
        /// <remarks>
        ///  Set the last occured error. This method is const to allow setting
        ///  of errors in all types of methods. The last error is as such a 
        ///  mutable property.
        ///              </remarks>        <short>    Set the last occured error.</short>
        /// <remarks>
        ///  Convenience method to set simple string error messages with a default
        ///  error code ErrorUnknown.
        ///              </remarks>        <short>    Convenience method to set simple string error messages with a default  error code ErrorUnknown.</short>
        protected void SetError(string errorMessage, int code) {
            interceptor.Invoke("setError$$", "setError(const QString&, int) const", typeof(void), typeof(string), errorMessage, typeof(int), code);
        }
        protected void SetError(string errorMessage) {
            interceptor.Invoke("setError$", "setError(const QString&) const", typeof(void), typeof(string), errorMessage);
        }
        protected new IAsyncResultSignals Emit {
            get { return (IAsyncResultSignals) Q_EMIT; }
        }
    }

    public interface IAsyncResultSignals : IQObjectSignals {
    }
}
