//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    using System.Collections.Generic;
    /// <remarks> See <see cref="IQNetworkReplySignals"></see> for signals emitted by QNetworkReply
    /// </remarks>
    [SmokeClass("QNetworkReply")]
    public abstract class QNetworkReply : QIODevice {
        protected QNetworkReply(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QNetworkReply), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QNetworkReply() {
            staticInterceptor = new SmokeInvocation(typeof(QNetworkReply), null);
        }
        public enum NetworkError {
            NoError = 0,
            ConnectionRefusedError = 1,
            RemoteHostClosedError = 2,
            HostNotFoundError = 3,
            TimeoutError = 4,
            OperationCanceledError = 5,
            SslHandshakeFailedError = 6,
            UnknownNetworkError = 99,
            ProxyConnectionRefusedError = 101,
            ProxyConnectionClosedError = 102,
            ProxyNotFoundError = 103,
            ProxyTimeoutError = 104,
            ProxyAuthenticationRequiredError = 105,
            UnknownProxyError = 199,
            ContentAccessDenied = 201,
            ContentOperationNotPermittedError = 202,
            ContentNotFoundError = 203,
            AuthenticationRequiredError = 204,
            UnknownContentError = 299,
            ProtocolUnknownError = 301,
            ProtocolInvalidOperationError = 302,
            ProtocolFailure = 399,
        }
        // QNetworkReply* QNetworkReply(QNetworkReplyPrivate& arg1,QObject* arg2); >>>> NOT CONVERTED
        [SmokeMethod("abort()")]
        public abstract void Abort();
        [SmokeMethod("close()")]
        public override void Close() {
            interceptor.Invoke("close", "close()", typeof(void));
        }
        [SmokeMethod("isSequential() const")]
        public override bool IsSequential() {
            return (bool) interceptor.Invoke("isSequential", "isSequential() const", typeof(bool));
        }
        public long ReadBufferSize() {
            return (long) interceptor.Invoke("readBufferSize", "readBufferSize() const", typeof(long));
        }
        [SmokeMethod("setReadBufferSize(qint64)")]
        public virtual void SetReadBufferSize(long size) {
            interceptor.Invoke("setReadBufferSize$", "setReadBufferSize(qint64)", typeof(void), typeof(long), size);
        }
        public QNetworkAccessManager Manager() {
            return (QNetworkAccessManager) interceptor.Invoke("manager", "manager() const", typeof(QNetworkAccessManager));
        }
        public QNetworkAccessManager.Operation Operation() {
            return (QNetworkAccessManager.Operation) interceptor.Invoke("operation", "operation() const", typeof(QNetworkAccessManager.Operation));
        }
        public QNetworkRequest Request() {
            return (QNetworkRequest) interceptor.Invoke("request", "request() const", typeof(QNetworkRequest));
        }
        public QNetworkReply.NetworkError Error() {
            return (QNetworkReply.NetworkError) interceptor.Invoke("error", "error() const", typeof(QNetworkReply.NetworkError));
        }
        public QUrl Url() {
            return (QUrl) interceptor.Invoke("url", "url() const", typeof(QUrl));
        }
        public QVariant Header(QNetworkRequest.KnownHeaders header) {
            return (QVariant) interceptor.Invoke("header$", "header(QNetworkRequest::KnownHeaders) const", typeof(QVariant), typeof(QNetworkRequest.KnownHeaders), header);
        }
        public bool HasRawHeader(QByteArray headerName) {
            return (bool) interceptor.Invoke("hasRawHeader#", "hasRawHeader(const QByteArray&) const", typeof(bool), typeof(QByteArray), headerName);
        }
        public List<QByteArray> RawHeaderList() {
            return (List<QByteArray>) interceptor.Invoke("rawHeaderList", "rawHeaderList() const", typeof(List<QByteArray>));
        }
        public QByteArray RawHeader(QByteArray headerName) {
            return (QByteArray) interceptor.Invoke("rawHeader#", "rawHeader(const QByteArray&) const", typeof(QByteArray), typeof(QByteArray), headerName);
        }
        public QVariant Attribute(QNetworkRequest.Attribute code) {
            return (QVariant) interceptor.Invoke("attribute$", "attribute(QNetworkRequest::Attribute) const", typeof(QVariant), typeof(QNetworkRequest.Attribute), code);
        }
        public QSslConfiguration SslConfiguration() {
            return (QSslConfiguration) interceptor.Invoke("sslConfiguration", "sslConfiguration() const", typeof(QSslConfiguration));
        }
        public void SetSslConfiguration(QSslConfiguration configuration) {
            interceptor.Invoke("setSslConfiguration#", "setSslConfiguration(const QSslConfiguration&)", typeof(void), typeof(QSslConfiguration), configuration);
        }
        [Q_SLOT("void ignoreSslErrors()")]
        [SmokeMethod("ignoreSslErrors()")]
        public virtual void IgnoreSslErrors() {
            interceptor.Invoke("ignoreSslErrors", "ignoreSslErrors()", typeof(void));
        }
        public QNetworkReply(QObject parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QNetworkReply#", "QNetworkReply(QObject*)", typeof(void), typeof(QObject), parent);
        }
        public QNetworkReply() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QNetworkReply", "QNetworkReply()", typeof(void));
        }
        [SmokeMethod("writeData(const char*, qint64)")]
        protected override long WriteData(string data, long len) {
            return (long) interceptor.Invoke("writeData$$", "writeData(const char*, qint64)", typeof(long), typeof(string), data, typeof(long), len);
        }
        protected void SetOperation(QNetworkAccessManager.Operation operation) {
            interceptor.Invoke("setOperation$", "setOperation(QNetworkAccessManager::Operation)", typeof(void), typeof(QNetworkAccessManager.Operation), operation);
        }
        protected void SetRequest(QNetworkRequest request) {
            interceptor.Invoke("setRequest#", "setRequest(const QNetworkRequest&)", typeof(void), typeof(QNetworkRequest), request);
        }
        protected void SetError(QNetworkReply.NetworkError errorCode, string errorString) {
            interceptor.Invoke("setError$$", "setError(QNetworkReply::NetworkError, const QString&)", typeof(void), typeof(QNetworkReply.NetworkError), errorCode, typeof(string), errorString);
        }
        protected void SetUrl(QUrl url) {
            interceptor.Invoke("setUrl#", "setUrl(const QUrl&)", typeof(void), typeof(QUrl), url);
        }
        protected void SetHeader(QNetworkRequest.KnownHeaders header, QVariant value) {
            interceptor.Invoke("setHeader$#", "setHeader(QNetworkRequest::KnownHeaders, const QVariant&)", typeof(void), typeof(QNetworkRequest.KnownHeaders), header, typeof(QVariant), value);
        }
        protected void SetRawHeader(QByteArray headerName, QByteArray value) {
            interceptor.Invoke("setRawHeader##", "setRawHeader(const QByteArray&, const QByteArray&)", typeof(void), typeof(QByteArray), headerName, typeof(QByteArray), value);
        }
        protected void SetAttribute(QNetworkRequest.Attribute code, QVariant value) {
            interceptor.Invoke("setAttribute$#", "setAttribute(QNetworkRequest::Attribute, const QVariant&)", typeof(void), typeof(QNetworkRequest.Attribute), code, typeof(QVariant), value);
        }
        public static new string Tr(string s, string c) {
            return (string) staticInterceptor.Invoke("tr$$", "tr(const char*, const char*)", typeof(string), typeof(string), s, typeof(string), c);
        }
        public static new string Tr(string s) {
            return (string) staticInterceptor.Invoke("tr$", "tr(const char*)", typeof(string), typeof(string), s);
        }
        protected new IQNetworkReplySignals Emit {
            get { return (IQNetworkReplySignals) Q_EMIT; }
        }
    }

    public interface IQNetworkReplySignals : IQIODeviceSignals {
        [Q_SIGNAL("void metaDataChanged()")]
        void MetaDataChanged();
        [Q_SIGNAL("void finished()")]
        void Finished();
        [Q_SIGNAL("void error(QNetworkReply::NetworkError)")]
        void Error(QNetworkReply.NetworkError arg1);
        [Q_SIGNAL("void sslErrors(QList<QSslError>)")]
        void SslErrors(List<QSslError> errors);
        [Q_SIGNAL("void uploadProgress(qint64, qint64)")]
        void UploadProgress(long bytesSent, long bytesTotal);
        [Q_SIGNAL("void downloadProgress(qint64, qint64)")]
        void DownloadProgress(long bytesReceived, long bytesTotal);
    }
}
