//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    using System.Collections.Generic;
    [SmokeClass("QInputContextFactory")]
    public class QInputContextFactory : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QInputContextFactory(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QInputContextFactory), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QInputContextFactory() {
            staticInterceptor = new SmokeInvocation(typeof(QInputContextFactory), null);
        }
        public QInputContextFactory() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QInputContextFactory", "QInputContextFactory()", typeof(void));
        }
        ~QInputContextFactory() {
            interceptor.Invoke("~QInputContextFactory", "~QInputContextFactory()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QInputContextFactory", "~QInputContextFactory()", typeof(void));
        }
        public static List<string> Keys() {
            return (List<string>) staticInterceptor.Invoke("keys", "keys()", typeof(List<string>));
        }
        public static QInputContext Create(string key, QObject parent) {
            return (QInputContext) staticInterceptor.Invoke("create$#", "create(const QString&, QObject*)", typeof(QInputContext), typeof(string), key, typeof(QObject), parent);
        }
        public static List<string> Languages(string key) {
            return (List<string>) staticInterceptor.Invoke("languages$", "languages(const QString&)", typeof(List<string>), typeof(string), key);
        }
        public static string DisplayName(string key) {
            return (string) staticInterceptor.Invoke("displayName$", "displayName(const QString&)", typeof(string), typeof(string), key);
        }
        public static string Description(string key) {
            return (string) staticInterceptor.Invoke("description$", "description(const QString&)", typeof(string), typeof(string), key);
        }
    }
}
