/* Automatically generated by mkexports.lua */
#include <libextl/extl.h>
#include <libextl/private.h>

/* quiet warnings for generated code */
#ifdef __GNUC__
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wunused-macros"
#endif

EXTL_DEFCLASS(WStatusBar);
static bool l2chnd_v_os__WStatusBar_(void (*fn)(), ExtlL2Param *in, ExtlL2Param *out)
{
    if(!EXTL_CHKO1(in, 0, WStatusBar)) return FALSE;
    fn(in[0].o, in[1].s);
    return TRUE;
}
static bool l2chnd_v_f__(void (*fn)(), ExtlL2Param *in, ExtlL2Param *out)
{
    fn(in[0].f);
    return TRUE;
}
static bool l2chnd_i_sffff______(int (*fn)(), ExtlL2Param *in, ExtlL2Param *out)
{
    out[0].i=fn(in[0].s, in[1].f, in[2].f, in[3].f, in[4].f);
    return TRUE;
}
static bool l2chnd_i_i__(int (*fn)(), ExtlL2Param *in, ExtlL2Param *out)
{
    out[0].i=fn(in[0].i);
    return TRUE;
}
static bool l2chnd_b_os__WStatusBar_(bool (*fn)(), ExtlL2Param *in, ExtlL2Param *out)
{
    if(!EXTL_CHKO1(in, 0, WStatusBar)) return FALSE;
    out[0].b=fn(in[0].o, in[1].s);
    return TRUE;
}
static bool l2chnd_t__(ExtlTab (*fn)(), ExtlL2Param *in, ExtlL2Param *out)
{
    out[0].t=fn();
    return TRUE;
}
static bool l2chnd_t_o__WStatusBar(ExtlTab (*fn)(), ExtlL2Param *in, ExtlL2Param *out)
{
    if(!EXTL_CHKO1(in, 0, WStatusBar)) return FALSE;
    out[0].t=fn(in[0].o);
    return TRUE;
}
static bool l2chnd_b_o__WStatusBar(bool (*fn)(), ExtlL2Param *in, ExtlL2Param *out)
{
    if(!EXTL_CHKO1(in, 0, WStatusBar)) return FALSE;
    out[0].b=fn(in[0].o);
    return TRUE;
}
static bool l2chnd_v_ot__WStatusBar_(void (*fn)(), ExtlL2Param *in, ExtlL2Param *out)
{
    if(!EXTL_CHKO1(in, 0, WStatusBar)) return FALSE;
    fn(in[0].o, in[1].t);
    return TRUE;
}

extern void statusbar_get_template_table();
extern void statusbar_update();
extern void statusbar_is_systray_extl();
extern void statusbar_set_template();
extern void statusbar_set_template_table();
extern void statusbar_set_systray_extl();


static ExtlExportedFnSpec WStatusBar_exports[] = {
    {"get_template_table", statusbar_get_template_table, "o", "t", (ExtlL2CallHandler*)l2chnd_t_o__WStatusBar, FALSE, FALSE, FALSE},
    {"update", statusbar_update, "ot", NULL, (ExtlL2CallHandler*)l2chnd_v_ot__WStatusBar_, FALSE, FALSE, FALSE},
    {"is_systray", statusbar_is_systray_extl, "o", "b", (ExtlL2CallHandler*)l2chnd_b_o__WStatusBar, FALSE, FALSE, FALSE},
    {"set_template", statusbar_set_template, "oS", NULL, (ExtlL2CallHandler*)l2chnd_v_os__WStatusBar_, FALSE, FALSE, FALSE},
    {"set_template_table", statusbar_set_template_table, "ot", NULL, (ExtlL2CallHandler*)l2chnd_v_ot__WStatusBar_, FALSE, FALSE, FALSE},
    {"set_systray", statusbar_set_systray_extl, "oS", "b", (ExtlL2CallHandler*)l2chnd_b_os__WStatusBar_, FALSE, FALSE, FALSE},
    {NULL, NULL, NULL, NULL, NULL, FALSE, FALSE, FALSE}
};

extern void mod_statusbar__set_template_parser();
extern void mod_statusbar_statusbars();
extern void mod_statusbar__launch_statusd();
extern void mod_statusbar__terminate_statusd();


static ExtlExportedFnSpec mod_statusbar_exports[] = {
    {"_set_template_parser", mod_statusbar__set_template_parser, "f", NULL, (ExtlL2CallHandler*)l2chnd_v_f__, FALSE, FALSE, FALSE},
    {"statusbars", mod_statusbar_statusbars, NULL, "t", (ExtlL2CallHandler*)l2chnd_t__, FALSE, FALSE, FALSE},
    {"_launch_statusd", mod_statusbar__launch_statusd, "Sffff", "i", (ExtlL2CallHandler*)l2chnd_i_sffff______, FALSE, FALSE, FALSE},
    {"_terminate_statusd", mod_statusbar__terminate_statusd, "i", "i", (ExtlL2CallHandler*)l2chnd_i_i__, FALSE, FALSE, FALSE},
    {NULL, NULL, NULL, NULL, NULL, FALSE, FALSE, FALSE}
};

bool mod_statusbar_register_exports()
{
    if(!extl_register_class("WStatusBar", WStatusBar_exports, "WWindow")) return FALSE;
    if(!extl_register_module("mod_statusbar", mod_statusbar_exports)) return FALSE;
    return TRUE;
}

void mod_statusbar_unregister_exports()
{
    extl_unregister_class("WStatusBar", WStatusBar_exports);
    extl_unregister_module("mod_statusbar", mod_statusbar_exports);
}

