//Auto-generated by kalyptus. DO NOT EDIT.
namespace Kimono {
    using System;
    using Qyoto;
    /// <remarks>
    ///  Access to the KDE global objects.
    ///  KGlobal provides you with pointers of many central
    ///  objects that exist only once in the process. It is also
    ///  responsible for managing instances of KStaticDeleterBase.
    /// </remarks>        <author> Sirtaj Singh Kang (taj@kde.org)
    ///  </author>
    ///         <short>    Access to the KDE global objects.</short>
    ///         <see> KStaticDeleterBase</see>
    [SmokeClass("KGlobal")]
    public class KGlobal {
        private static SmokeInvocation staticInterceptor = null;
        static KGlobal() {
            staticInterceptor = new SmokeInvocation(typeof(KGlobal), null);
        }
        /// <remarks>
        ///  For setLocale
        ///      </remarks>        <short>    For setLocale      </short>
        public enum CopyCatalogs {
            DoCopyCatalogs = 0,
            DontCopyCatalogs = 1,
        }
        /// <remarks>
        ///  Returns the global component data.  There is always at least
        ///  one instance of a component in one application (in most
        ///  cases the application itself).
        /// </remarks>        <return> the global component data
        ///      </return>
        ///         <short>    Returns the global component data.</short>
        public static KComponentData MainComponent() {
            return (KComponentData) staticInterceptor.Invoke("mainComponent", "mainComponent()", typeof(KComponentData));
        }
        /// <remarks>
        ///  Returns whether a main KComponentData is available.
        ///      </remarks>        <short>   </short>
        public static bool HasMainComponent() {
            return (bool) staticInterceptor.Invoke("hasMainComponent", "hasMainComponent()", typeof(bool));
        }
        /// <remarks>
        ///  Returns the application standard dirs object.
        /// </remarks>        <return> the global standard dir object
        ///      </return>
        ///         <short>    Returns the application standard dirs object.</short>
        public static KStandardDirs Dirs() {
            return (KStandardDirs) staticInterceptor.Invoke("dirs", "dirs()", typeof(KStandardDirs));
        }
        /// <remarks>
        ///  Returns the general config object.
        /// </remarks>        <return> the global configuration object.
        ///      </return>
        ///         <short>    Returns the general config object.</short>
        public static KSharedConfig Config() {
            return (KSharedConfig) staticInterceptor.Invoke("config", "config()", typeof(KSharedConfig));
        }
        /// <remarks>
        ///  Returns the global locale object.
        /// </remarks>        <return> the global locale object
        ///      </return>
        ///         <short>    Returns the global locale object.</short>
        public static KLocale Locale() {
            return (KLocale) staticInterceptor.Invoke("locale", "locale()", typeof(KLocale));
        }
        /// <remarks>
        ///  Returns whether KGlobal has a valid KLocale object
        ///      </remarks>        <short>   </short>
        public static bool HasLocale() {
            return (bool) staticInterceptor.Invoke("hasLocale", "hasLocale()", typeof(bool));
        }
        /// <remarks>
        ///  The global charset manager.
        /// </remarks>        <return> the global charset manager
        ///      </return>
        ///         <short>    The global charset manager.</short>
        public static KCharsets Charsets() {
            return (KCharsets) staticInterceptor.Invoke("charsets", "charsets()", typeof(KCharsets));
        }
        /// <remarks>
        ///  Returns the umask of the process.
        /// </remarks>        <return> the umask of the process
        ///      </return>
        ///         <short>    Returns the umask of the process.</short>
        public static long Umask() {
            return (long) staticInterceptor.Invoke("umask", "umask()", typeof(long));
        }
        /// <remarks>
        ///  Creates a static string.
        ///  To be used inside functions(!) like:
        ///  @code
        ///  static stringmyString = KGlobal.Staticstring("myText");
        ///  @endcode
        ///  @attention Do <b></b>OT use code such as:
        ///  @code
        ///  static string myString = KGlobal.Staticstring("myText");
        ///  @endcode
        ///  This creates a static object (instead of a static reference)
        ///  and as you know static objects are EVIL.
        /// <param> name="str" the string to create
        /// </param></remarks>        <return> the static string
        ///      </return>
        ///         <short>    Creates a static string.</short>
        public static string StaticQString(string str) {
            return (string) staticInterceptor.Invoke("staticQString$", "staticQString(const char*)", typeof(string), typeof(string), str);
        }
        /// <remarks>
        ///  Tells KGlobal about one more operations that should be finished
        ///  before the application exits. The standard behavior is to exit on the
        ///  "last window closed" event, but some events should outlive the last window closed
        ///  (e.g. a file copy for a file manager, or 'compacting folders on exit' for a mail client).
        ///  We have some use cases that we want to take care of (the format is "action refcount"):
        ///  - open window . setAllowQuit(true) 1 ; close window 0 => EXIT
        ///  - job start 1; job end 0 [don't exit yet]; open window . setAllowQuit(true) 1 ; close window 0 => EXIT
        ///  - job start 1; open window . setAllowQuit(true) 2; close window 1; job end 0 => EXIT
        ///  - job start 1; open window . setAllowQuit(true) 2; job end 1; close window 0 => EXIT
        ///  - open dialog 0; close dialog 0; => DO NOT EXIT
        ///  - job start 1; job end 0; create two main objects 2; delete both main objects 0 => EXIT
        ///  - open window . setAllowQuit(true) 1; add systray icon 2; close window 1 => DO NOT EXIT
        ///  - open window . setAllowQuit(true) 1; add systray icon 2; remove systray icon 1; close window 0 => EXIT
        ///  Note that for this to happen you must call qApp.SetQuitOnLastWindowClosed(false),
        ///  in main() for instance.
        ///      </remarks>        <short>    Tells KGlobal about one more operations that should be finished  before the application exits.</short>
        public static void Ref() {
            staticInterceptor.Invoke("ref", "ref()", typeof(void));
        }
        /// <remarks>
        ///  Tells KGlobal that one operation such as those described in ref() just finished.
        ///  This call makes the QApplication quit if the counter is back to 0.
        ///      </remarks>        <short>    Tells KGlobal that one operation such as those described in ref() just finished.</short>
        public static void Deref() {
            staticInterceptor.Invoke("deref", "deref()", typeof(void));
        }
        /// <remarks>
        ///  If refcounting reaches 0 (or less), and <code>allowQuit</code> is true, the instance of the application
        ///  will automatically be exited. Otherwise, the application will not exit automatically.
        /// </remarks>        <short>    If refcounting reaches 0 (or less), and <code>allowQuit</code> is true, the instance of the application  will automatically be exited.</short>
        public static void SetAllowQuit(bool allowQuit) {
            staticInterceptor.Invoke("setAllowQuit$", "setAllowQuit(bool)", typeof(void), typeof(bool), allowQuit);
        }
        /// <remarks>
        ///  The component currently active (useful in a multi-component
        ///  application, such as a KParts application).
        ///  Don't use this - it's mainly for KAboutDialog and KBugReport.
        ///      </remarks>        <short>    The component currently active (useful in a multi-component  application, such as a KParts application).</short>
        public static KComponentData ActiveComponent() {
            return (KComponentData) staticInterceptor.Invoke("activeComponent", "activeComponent()", typeof(KComponentData));
        }
        /// <remarks>
        ///  Set the active component for use by KAboutDialog and KBugReport.
        ///  To be used only by a multi-component (KParts) application.
        /// </remarks>        <short>    Set the active component for use by KAboutDialog and KBugReport.</short>
        ///         <see> activeComponent</see>
        public static void SetActiveComponent(KComponentData d) {
            staticInterceptor.Invoke("setActiveComponent#", "setActiveComponent(const KComponentData&)", typeof(void), typeof(KComponentData), d);
        }
        /// <remarks>
        ///  Returns a text for the window caption.
        ///  This may be set by
        ///  "-caption", otherwise it will be equivalent to the name of the
        ///  executable.
        /// </remarks>        <return> the text for the window caption
        ///      </return>
        ///         <short>    Returns a text for the window caption.</short>
        public static string Caption() {
            return (string) staticInterceptor.Invoke("caption", "caption()", typeof(string));
        }
        public static void SetLocale(KLocale arg1, KGlobal.CopyCatalogs copy) {
            staticInterceptor.Invoke("setLocale#$", "setLocale(KLocale*, KGlobal::CopyCatalogs)", typeof(void), typeof(KLocale), arg1, typeof(KGlobal.CopyCatalogs), copy);
        }
        public static void SetLocale(KLocale arg1) {
            staticInterceptor.Invoke("setLocale#", "setLocale(KLocale*)", typeof(void), typeof(KLocale), arg1);
        }
    }
}
