//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    /// <remarks> See <see cref="IQLocalServerSignals"></see> for signals emitted by QLocalServer
    /// </remarks>
    [SmokeClass("QLocalServer")]
    public class QLocalServer : QObject, IDisposable {
        protected QLocalServer(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QLocalServer), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QLocalServer() {
            staticInterceptor = new SmokeInvocation(typeof(QLocalServer), null);
        }
        // void incomingConnection(QUintForType<void*>::Type arg1); >>>> NOT CONVERTED
        public QLocalServer(QObject parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QLocalServer#", "QLocalServer(QObject*)", typeof(void), typeof(QObject), parent);
        }
        public QLocalServer() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QLocalServer", "QLocalServer()", typeof(void));
        }
        public void Close() {
            interceptor.Invoke("close", "close()", typeof(void));
        }
        public string ErrorString() {
            return (string) interceptor.Invoke("errorString", "errorString() const", typeof(string));
        }
        [SmokeMethod("hasPendingConnections() const")]
        public virtual bool HasPendingConnections() {
            return (bool) interceptor.Invoke("hasPendingConnections", "hasPendingConnections() const", typeof(bool));
        }
        public bool IsListening() {
            return (bool) interceptor.Invoke("isListening", "isListening() const", typeof(bool));
        }
        public bool Listen(string name) {
            return (bool) interceptor.Invoke("listen$", "listen(const QString&)", typeof(bool), typeof(string), name);
        }
        public int MaxPendingConnections() {
            return (int) interceptor.Invoke("maxPendingConnections", "maxPendingConnections() const", typeof(int));
        }
        [SmokeMethod("nextPendingConnection()")]
        public virtual QLocalSocket NextPendingConnection() {
            return (QLocalSocket) interceptor.Invoke("nextPendingConnection", "nextPendingConnection()", typeof(QLocalSocket));
        }
        public string ServerName() {
            return (string) interceptor.Invoke("serverName", "serverName() const", typeof(string));
        }
        public string FullServerName() {
            return (string) interceptor.Invoke("fullServerName", "fullServerName() const", typeof(string));
        }
        public QAbstractSocket.SocketError ServerError() {
            return (QAbstractSocket.SocketError) interceptor.Invoke("serverError", "serverError() const", typeof(QAbstractSocket.SocketError));
        }
        public void SetMaxPendingConnections(int numConnections) {
            interceptor.Invoke("setMaxPendingConnections$", "setMaxPendingConnections(int)", typeof(void), typeof(int), numConnections);
        }
        public bool WaitForNewConnection(int msec, ref bool timedOut) {
            StackItem[] stack = new StackItem[3];
            stack[1].s_int = msec;
            stack[2].s_bool = timedOut;
            interceptor.Invoke("waitForNewConnection$$", "waitForNewConnection(int, bool*)", stack);
            timedOut = stack[2].s_bool;
            return stack[0].s_bool;
        }
        public bool WaitForNewConnection(int msec) {
            return (bool) interceptor.Invoke("waitForNewConnection$", "waitForNewConnection(int)", typeof(bool), typeof(int), msec);
        }
        public bool WaitForNewConnection() {
            return (bool) interceptor.Invoke("waitForNewConnection", "waitForNewConnection()", typeof(bool));
        }
        ~QLocalServer() {
            interceptor.Invoke("~QLocalServer", "~QLocalServer()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~QLocalServer", "~QLocalServer()", typeof(void));
        }
        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);
        }
        public static bool RemoveServer(string name) {
            return (bool) staticInterceptor.Invoke("removeServer$", "removeServer(const QString&)", typeof(bool), typeof(string), name);
        }
        protected new IQLocalServerSignals Emit {
            get { return (IQLocalServerSignals) Q_EMIT; }
        }
    }

    public interface IQLocalServerSignals : IQObjectSignals {
        [Q_SIGNAL("void newConnection()")]
        void NewConnection();
    }
}
