//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QNetworkProxyQuery")]
    public class QNetworkProxyQuery : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QNetworkProxyQuery(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QNetworkProxyQuery), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QNetworkProxyQuery() {
            staticInterceptor = new SmokeInvocation(typeof(QNetworkProxyQuery), null);
        }
        public enum QueryType {
            TcpSocket = 0,
            UdpSocket = 1,
            TcpServer = 100,
            UrlRequest = 101,
        }
        public QNetworkProxyQuery() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QNetworkProxyQuery", "QNetworkProxyQuery()", typeof(void));
        }
        public QNetworkProxyQuery(QUrl requestUrl, QNetworkProxyQuery.QueryType queryType) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QNetworkProxyQuery#$", "QNetworkProxyQuery(const QUrl&, QNetworkProxyQuery::QueryType)", typeof(void), typeof(QUrl), requestUrl, typeof(QNetworkProxyQuery.QueryType), queryType);
        }
        public QNetworkProxyQuery(QUrl requestUrl) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QNetworkProxyQuery#", "QNetworkProxyQuery(const QUrl&)", typeof(void), typeof(QUrl), requestUrl);
        }
        public QNetworkProxyQuery(string hostname, int port, string protocolTag, QNetworkProxyQuery.QueryType queryType) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QNetworkProxyQuery$$$$", "QNetworkProxyQuery(const QString&, int, const QString&, QNetworkProxyQuery::QueryType)", typeof(void), typeof(string), hostname, typeof(int), port, typeof(string), protocolTag, typeof(QNetworkProxyQuery.QueryType), queryType);
        }
        public QNetworkProxyQuery(string hostname, int port, string protocolTag) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QNetworkProxyQuery$$$", "QNetworkProxyQuery(const QString&, int, const QString&)", typeof(void), typeof(string), hostname, typeof(int), port, typeof(string), protocolTag);
        }
        public QNetworkProxyQuery(string hostname, int port) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QNetworkProxyQuery$$", "QNetworkProxyQuery(const QString&, int)", typeof(void), typeof(string), hostname, typeof(int), port);
        }
        public QNetworkProxyQuery(ushort bindPort, string protocolTag, QNetworkProxyQuery.QueryType queryType) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QNetworkProxyQuery$$$", "QNetworkProxyQuery(unsigned short, const QString&, QNetworkProxyQuery::QueryType)", typeof(void), typeof(ushort), bindPort, typeof(string), protocolTag, typeof(QNetworkProxyQuery.QueryType), queryType);
        }
        public QNetworkProxyQuery(ushort bindPort, string protocolTag) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QNetworkProxyQuery$$", "QNetworkProxyQuery(unsigned short, const QString&)", typeof(void), typeof(ushort), bindPort, typeof(string), protocolTag);
        }
        public QNetworkProxyQuery(ushort bindPort) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QNetworkProxyQuery$", "QNetworkProxyQuery(unsigned short)", typeof(void), typeof(ushort), bindPort);
        }
        public QNetworkProxyQuery(QNetworkProxyQuery other) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QNetworkProxyQuery#", "QNetworkProxyQuery(const QNetworkProxyQuery&)", typeof(void), typeof(QNetworkProxyQuery), other);
        }
        public override bool Equals(object o) {
            if (!(o is QNetworkProxyQuery)) { return false; }
            return this == (QNetworkProxyQuery) o;
        }
        public override int GetHashCode() {
            return interceptor.GetHashCode();
        }
        public QNetworkProxyQuery.QueryType queryType() {
            return (QNetworkProxyQuery.QueryType) interceptor.Invoke("queryType", "queryType() const", typeof(QNetworkProxyQuery.QueryType));
        }
        public void SetQueryType(QNetworkProxyQuery.QueryType type) {
            interceptor.Invoke("setQueryType$", "setQueryType(QNetworkProxyQuery::QueryType)", typeof(void), typeof(QNetworkProxyQuery.QueryType), type);
        }
        public int PeerPort() {
            return (int) interceptor.Invoke("peerPort", "peerPort() const", typeof(int));
        }
        public void SetPeerPort(int port) {
            interceptor.Invoke("setPeerPort$", "setPeerPort(int)", typeof(void), typeof(int), port);
        }
        public string PeerHostName() {
            return (string) interceptor.Invoke("peerHostName", "peerHostName() const", typeof(string));
        }
        public void SetPeerHostName(string hostname) {
            interceptor.Invoke("setPeerHostName$", "setPeerHostName(const QString&)", typeof(void), typeof(string), hostname);
        }
        public int LocalPort() {
            return (int) interceptor.Invoke("localPort", "localPort() const", typeof(int));
        }
        public void SetLocalPort(int port) {
            interceptor.Invoke("setLocalPort$", "setLocalPort(int)", typeof(void), typeof(int), port);
        }
        public string ProtocolTag() {
            return (string) interceptor.Invoke("protocolTag", "protocolTag() const", typeof(string));
        }
        public void SetProtocolTag(string protocolTag) {
            interceptor.Invoke("setProtocolTag$", "setProtocolTag(const QString&)", typeof(void), typeof(string), protocolTag);
        }
        public QUrl Url() {
            return (QUrl) interceptor.Invoke("url", "url() const", typeof(QUrl));
        }
        public void SetUrl(QUrl url) {
            interceptor.Invoke("setUrl#", "setUrl(const QUrl&)", typeof(void), typeof(QUrl), url);
        }
        ~QNetworkProxyQuery() {
            interceptor.Invoke("~QNetworkProxyQuery", "~QNetworkProxyQuery()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QNetworkProxyQuery", "~QNetworkProxyQuery()", typeof(void));
        }
        public static bool operator==(QNetworkProxyQuery lhs, QNetworkProxyQuery other) {
            return (bool) staticInterceptor.Invoke("operator==#", "operator==(const QNetworkProxyQuery&) const", typeof(bool), typeof(QNetworkProxyQuery), lhs, typeof(QNetworkProxyQuery), other);
        }
        public static bool operator!=(QNetworkProxyQuery lhs, QNetworkProxyQuery other) {
            return !(bool) staticInterceptor.Invoke("operator==#", "operator==(const QNetworkProxyQuery&) const", typeof(bool), typeof(QNetworkProxyQuery), lhs, typeof(QNetworkProxyQuery), other);
        }
    }
}
