//Auto-generated by kalyptus. DO NOT EDIT.
namespace KIO {
    using Kimono;
    using System;
    using Qyoto;
    /// <remarks>
    ///  @private
    ///  This class provides a way to obtaining KIO.Connection connections.
    ///       See <see cref="IConnectionServerSignals"></see> for signals emitted by ConnectionServer
    /// </remarks>        <short>    @private </short>
    [SmokeClass("KIO::ConnectionServer")]
    public class ConnectionServer : QObject, IDisposable {
        protected ConnectionServer(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(ConnectionServer), this);
        }
        public ConnectionServer(QObject parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("ConnectionServer#", "ConnectionServer(QObject*)", typeof(void), typeof(QObject), parent);
        }
        public ConnectionServer() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("ConnectionServer", "ConnectionServer()", typeof(void));
        }
        /// <remarks>
        ///  Sets this connection to listen mode. Use address() to obtain the
        ///  address this is listening on.
        ///          </remarks>        <short>    Sets this connection to listen mode.</short>
        public void ListenForRemote() {
            interceptor.Invoke("listenForRemote", "listenForRemote()", typeof(void));
        }
        public bool IsListening() {
            return (bool) interceptor.Invoke("isListening", "isListening() const", typeof(bool));
        }
        public void Close() {
            interceptor.Invoke("close", "close()", typeof(void));
        }
        /// <remarks>
        ///  Returns the address for this connection if it is listening, an empty
        ///  string if not.
        ///          </remarks>        <short>    Returns the address for this connection if it is listening, an empty  string if not.</short>
        public string Address() {
            return (string) interceptor.Invoke("address", "address() const", typeof(string));
        }
        public KIO.Connection NextPendingConnection() {
            return (KIO.Connection) interceptor.Invoke("nextPendingConnection", "nextPendingConnection()", typeof(KIO.Connection));
        }
        public void SetNextPendingConnection(KIO.Connection conn) {
            interceptor.Invoke("setNextPendingConnection#", "setNextPendingConnection(KIO::Connection*)", typeof(void), typeof(KIO.Connection), conn);
        }
        ~ConnectionServer() {
            interceptor.Invoke("~ConnectionServer", "~ConnectionServer()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~ConnectionServer", "~ConnectionServer()", typeof(void));
        }
        protected new IConnectionServerSignals Emit {
            get { return (IConnectionServerSignals) Q_EMIT; }
        }
    }

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