//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    using System.Collections.Generic;
    [SmokeClass("QSessionManager")]
    public class QSessionManager : QObject {
        protected QSessionManager(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QSessionManager), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QSessionManager() {
            staticInterceptor = new SmokeInvocation(typeof(QSessionManager), null);
        }
        public enum RestartHint {
            RestartIfRunning = 0,
            RestartAnyway = 1,
            RestartImmediately = 2,
            RestartNever = 3,
        }
        public string SessionId() {
            return (string) interceptor.Invoke("sessionId", "sessionId() const", typeof(string));
        }
        public string SessionKey() {
            return (string) interceptor.Invoke("sessionKey", "sessionKey() const", typeof(string));
        }
        public bool AllowsInteraction() {
            return (bool) interceptor.Invoke("allowsInteraction", "allowsInteraction()", typeof(bool));
        }
        public bool AllowsErrorInteraction() {
            return (bool) interceptor.Invoke("allowsErrorInteraction", "allowsErrorInteraction()", typeof(bool));
        }
        public void Release() {
            interceptor.Invoke("release", "release()", typeof(void));
        }
        public void Cancel() {
            interceptor.Invoke("cancel", "cancel()", typeof(void));
        }
        public void SetRestartHint(QSessionManager.RestartHint arg1) {
            interceptor.Invoke("setRestartHint$", "setRestartHint(QSessionManager::RestartHint)", typeof(void), typeof(QSessionManager.RestartHint), arg1);
        }
        public QSessionManager.RestartHint restartHint() {
            return (QSessionManager.RestartHint) interceptor.Invoke("restartHint", "restartHint() const", typeof(QSessionManager.RestartHint));
        }
        public void SetRestartCommand(List<string> arg1) {
            interceptor.Invoke("setRestartCommand?", "setRestartCommand(const QStringList&)", typeof(void), typeof(List<string>), arg1);
        }
        public List<string> RestartCommand() {
            return (List<string>) interceptor.Invoke("restartCommand", "restartCommand() const", typeof(List<string>));
        }
        public void SetDiscardCommand(List<string> arg1) {
            interceptor.Invoke("setDiscardCommand?", "setDiscardCommand(const QStringList&)", typeof(void), typeof(List<string>), arg1);
        }
        public List<string> DiscardCommand() {
            return (List<string>) interceptor.Invoke("discardCommand", "discardCommand() const", typeof(List<string>));
        }
        public void SetManagerProperty(string name, string value) {
            interceptor.Invoke("setManagerProperty$$", "setManagerProperty(const QString&, const QString&)", typeof(void), typeof(string), name, typeof(string), value);
        }
        public void SetManagerProperty(string name, List<string> value) {
            interceptor.Invoke("setManagerProperty$?", "setManagerProperty(const QString&, const QStringList&)", typeof(void), typeof(string), name, typeof(List<string>), value);
        }
        public bool IsPhase2() {
            return (bool) interceptor.Invoke("isPhase2", "isPhase2() const", typeof(bool));
        }
        public void RequestPhase2() {
            interceptor.Invoke("requestPhase2", "requestPhase2()", 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);
        }
        protected new IQSessionManagerSignals Emit {
            get { return (IQSessionManagerSignals) Q_EMIT; }
        }
    }

    public interface IQSessionManagerSignals : IQObjectSignals {
    }
}
