//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    using System.Collections.Generic;
    [SmokeClass("QNetworkProxyFactory")]
    public abstract class QNetworkProxyFactory : Object {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QNetworkProxyFactory(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QNetworkProxyFactory), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QNetworkProxyFactory() {
            staticInterceptor = new SmokeInvocation(typeof(QNetworkProxyFactory), null);
        }
        public QNetworkProxyFactory() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QNetworkProxyFactory", "QNetworkProxyFactory()", typeof(void));
        }
        [SmokeMethod("queryProxy(const QNetworkProxyQuery&)")]
        public abstract List<QNetworkProxy> QueryProxy(QNetworkProxyQuery query);
        public static void SetApplicationProxyFactory(QNetworkProxyFactory factory) {
            staticInterceptor.Invoke("setApplicationProxyFactory#", "setApplicationProxyFactory(QNetworkProxyFactory*)", typeof(void), typeof(QNetworkProxyFactory), factory);
        }
        public static List<QNetworkProxy> ProxyForQuery(QNetworkProxyQuery query) {
            return (List<QNetworkProxy>) staticInterceptor.Invoke("proxyForQuery#", "proxyForQuery(const QNetworkProxyQuery&)", typeof(List<QNetworkProxy>), typeof(QNetworkProxyQuery), query);
        }
        public static List<QNetworkProxy> SystemProxyForQuery(QNetworkProxyQuery query) {
            return (List<QNetworkProxy>) staticInterceptor.Invoke("systemProxyForQuery#", "systemProxyForQuery(const QNetworkProxyQuery&)", typeof(List<QNetworkProxy>), typeof(QNetworkProxyQuery), query);
        }
        public static List<QNetworkProxy> SystemProxyForQuery() {
            return (List<QNetworkProxy>) staticInterceptor.Invoke("systemProxyForQuery", "systemProxyForQuery()", typeof(List<QNetworkProxy>));
        }
    }
}
