cleanups, logs and simplify dbus message argument handling.
SVN revision: 47169
This commit is contained in:
parent
ddc7ec3bfe
commit
e345b9c995
|
@ -25,9 +25,7 @@ pkg_LTLIBRARIES = module.la
|
||||||
module_la_SOURCES = e_mod_main.c \
|
module_la_SOURCES = e_mod_main.c \
|
||||||
e_mod_main.h \
|
e_mod_main.h \
|
||||||
msgbus_lang.c \
|
msgbus_lang.c \
|
||||||
msgbus_lang.h \
|
msgbus_desktop.c
|
||||||
msgbus_desktop.c \
|
|
||||||
msgbus_desktop.h
|
|
||||||
|
|
||||||
module_la_LIBADD = @e_libs@ @dlopen_libs@
|
module_la_LIBADD = @e_libs@ @dlopen_libs@
|
||||||
module_la_LDFLAGS = -module -avoid-version
|
module_la_LDFLAGS = -module -avoid-version
|
||||||
|
|
|
@ -1,10 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
||||||
*/
|
*/
|
||||||
#include "e.h"
|
|
||||||
#include "e_mod_main.h"
|
#include "e_mod_main.h"
|
||||||
#include "msgbus_lang.h"
|
|
||||||
#include "msgbus_desktop.h"
|
|
||||||
|
|
||||||
/* actual module specifics */
|
/* actual module specifics */
|
||||||
static Eina_Array* ifaces = NULL;
|
static Eina_Array* ifaces = NULL;
|
||||||
|
@ -28,7 +25,7 @@ e_modapi_init(E_Module *m)
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI int
|
EAPI int
|
||||||
e_modapi_shutdown(E_Module *m)
|
e_modapi_shutdown(E_Module *m __UNUSED__)
|
||||||
{
|
{
|
||||||
E_DBus_Interface* iface;
|
E_DBus_Interface* iface;
|
||||||
Eina_Array_Iterator iter;
|
Eina_Array_Iterator iter;
|
||||||
|
@ -44,7 +41,7 @@ e_modapi_shutdown(E_Module *m)
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI int
|
EAPI int
|
||||||
e_modapi_save(E_Module *m)
|
e_modapi_save(E_Module *m __UNUSED__)
|
||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,10 +4,16 @@
|
||||||
#ifndef E_MOD_MAIN_H
|
#ifndef E_MOD_MAIN_H
|
||||||
#define E_MOD_MAIN_H
|
#define E_MOD_MAIN_H
|
||||||
|
|
||||||
|
#include "e.h"
|
||||||
|
|
||||||
EAPI extern E_Module_Api e_modapi;
|
EAPI extern E_Module_Api e_modapi;
|
||||||
|
|
||||||
EAPI void *e_modapi_init (E_Module *m);
|
EAPI void *e_modapi_init (E_Module *m);
|
||||||
EAPI int e_modapi_shutdown (E_Module *m);
|
EAPI int e_modapi_shutdown (E_Module *m);
|
||||||
EAPI int e_modapi_save (E_Module *m);
|
EAPI int e_modapi_save (E_Module *m);
|
||||||
|
|
||||||
|
/* sub-module initializers */
|
||||||
|
void msgbus_lang_init(Eina_Array *ifaces);
|
||||||
|
void msgbus_desktop_init(Eina_Array *ifaces);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
||||||
*/
|
*/
|
||||||
|
#include "e_mod_main.h"
|
||||||
#include "e.h"
|
|
||||||
#include "msgbus_desktop.h"
|
|
||||||
|
|
||||||
static int _log_dom = -1;
|
static int _log_dom = -1;
|
||||||
#define DBG(...) EINA_LOG_DOM_DBG(_log_dom, __VA_ARGS__)
|
#define DBG(...) EINA_LOG_DOM_DBG(_log_dom, __VA_ARGS__)
|
||||||
|
@ -12,23 +10,21 @@ static int _log_dom = -1;
|
||||||
#define ERR(...) EINA_LOG_DOM_ERR(_log_dom, __VA_ARGS__)
|
#define ERR(...) EINA_LOG_DOM_ERR(_log_dom, __VA_ARGS__)
|
||||||
|
|
||||||
static DBusMessage *
|
static DBusMessage *
|
||||||
cb_virtual_desktops(E_DBus_Object *obj, DBusMessage *msg)
|
cb_virtual_desktops(E_DBus_Object *obj __UNUSED__, DBusMessage *msg)
|
||||||
{
|
{
|
||||||
DBusMessage* reply;
|
DBusMessage *reply = dbus_message_new_method_return(msg);
|
||||||
DBusMessageIter iter;
|
dbus_message_append_args(reply,
|
||||||
|
DBUS_TYPE_INT32, &(e_config->zone_desks_x_count),
|
||||||
reply = dbus_message_new_method_return(msg);
|
DBUS_TYPE_INT32, &(e_config->zone_desks_y_count),
|
||||||
dbus_message_iter_init_append(reply, &iter);
|
DBUS_TYPE_INVALID);
|
||||||
dbus_message_iter_append_basic(&iter, DBUS_TYPE_INT32,
|
DBG("GetVirtualCount: %d %d",
|
||||||
&(e_config->zone_desks_x_count));
|
e_config->zone_desks_x_count, e_config->zone_desks_y_count);
|
||||||
dbus_message_iter_append_basic(&iter, DBUS_TYPE_INT32,
|
|
||||||
&(e_config->zone_desks_y_count));
|
|
||||||
|
|
||||||
return reply;
|
return reply;
|
||||||
}
|
}
|
||||||
|
|
||||||
static DBusMessage *
|
static DBusMessage *
|
||||||
cb_desktop_show(E_DBus_Object *obj, DBusMessage *msg)
|
cb_desktop_show(E_DBus_Object *obj __UNUSED__, DBusMessage *msg)
|
||||||
{
|
{
|
||||||
DBusError err;
|
DBusError err;
|
||||||
int x, y;
|
int x, y;
|
||||||
|
@ -45,7 +41,6 @@ cb_desktop_show(E_DBus_Object *obj, DBusMessage *msg)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
E_Zone *zone = e_util_zone_current_get(e_manager_current_get());
|
E_Zone *zone = e_util_zone_current_get(e_manager_current_get());
|
||||||
fprintf(stderr, "show desktop %d,%d from zone %p.\n", x, y, zone);
|
|
||||||
DBG("show desktop %d,%d from zone %p.", x, y, zone);
|
DBG("show desktop %d,%d from zone %p.", x, y, zone);
|
||||||
e_zone_desk_flip_to(zone, x, y);
|
e_zone_desk_flip_to(zone, x, y);
|
||||||
}
|
}
|
||||||
|
@ -54,7 +49,7 @@ cb_desktop_show(E_DBus_Object *obj, DBusMessage *msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
static DBusMessage *
|
static DBusMessage *
|
||||||
cb_desktop_show_by_name(E_DBus_Object *obj, DBusMessage *msg)
|
cb_desktop_show_by_name(E_DBus_Object *obj __UNUSED__, DBusMessage *msg)
|
||||||
{
|
{
|
||||||
DBusError err;
|
DBusError err;
|
||||||
const char *name;
|
const char *name;
|
||||||
|
@ -91,54 +86,68 @@ cb_desktop_show_by_name(E_DBus_Object *obj, DBusMessage *msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
static DBusMessage*
|
static DBusMessage*
|
||||||
cb_desktop_bgadd(E_DBus_Object *obj, DBusMessage *msg)
|
cb_desktop_bgadd(E_DBus_Object *obj __UNUSED__, DBusMessage *msg)
|
||||||
{
|
{
|
||||||
DBusMessageIter iter;
|
DBusError err;
|
||||||
int container, zone, desk_x, desk_y;
|
int container, zone, desk_x, desk_y;
|
||||||
char* path;
|
const char *path;
|
||||||
|
|
||||||
dbus_message_iter_init(msg, &iter);
|
dbus_error_init(&err);
|
||||||
dbus_message_iter_get_basic(&iter, &container);
|
if (!dbus_message_get_args(msg, &err,
|
||||||
dbus_message_iter_next(&iter);
|
DBUS_TYPE_INT32, &container,
|
||||||
dbus_message_iter_get_basic(&iter, &zone);
|
DBUS_TYPE_INT32, &zone,
|
||||||
dbus_message_iter_next(&iter);
|
DBUS_TYPE_INT32, &desk_x,
|
||||||
dbus_message_iter_get_basic(&iter, &desk_x);
|
DBUS_TYPE_INT32, &desk_y,
|
||||||
dbus_message_iter_next(&iter);
|
DBUS_TYPE_STRING, &path,
|
||||||
dbus_message_iter_get_basic(&iter, &desk_y);
|
DBUS_TYPE_INVALID))
|
||||||
dbus_message_iter_next(&iter);
|
{
|
||||||
dbus_message_iter_get_basic(&iter, &path);
|
ERR("could not get Add arguments: %s: %s", err.name, err.message);
|
||||||
|
dbus_error_free(&err);
|
||||||
e_bg_add(container, zone, desk_x, desk_y, path);
|
}
|
||||||
e_bg_update();
|
else if (path)
|
||||||
e_config_save_queue();
|
{
|
||||||
|
DBG("add bg container=%d, zone=%d, pos=%d,%d path=%s",
|
||||||
|
container, zone, desk_x, desk_y, path);
|
||||||
|
e_bg_add(container, zone, desk_x, desk_y, path);
|
||||||
|
e_bg_update();
|
||||||
|
e_config_save_queue();
|
||||||
|
}
|
||||||
|
|
||||||
return dbus_message_new_method_return(msg);
|
return dbus_message_new_method_return(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DBusMessage*
|
static DBusMessage*
|
||||||
cb_desktop_bgdel(E_DBus_Object *obj, DBusMessage *msg)
|
cb_desktop_bgdel(E_DBus_Object *obj __UNUSED__, DBusMessage *msg)
|
||||||
{
|
{
|
||||||
DBusMessageIter iter;
|
DBusError err;
|
||||||
int container, zone, desk_x, desk_y;
|
int container, zone, desk_x, desk_y;
|
||||||
|
|
||||||
dbus_message_iter_init(msg, &iter);
|
dbus_error_init(&err);
|
||||||
dbus_message_iter_get_basic(&iter, &container);
|
if (!dbus_message_get_args(msg, &err,
|
||||||
dbus_message_iter_next(&iter);
|
DBUS_TYPE_INT32, &container,
|
||||||
dbus_message_iter_get_basic(&iter, &zone);
|
DBUS_TYPE_INT32, &zone,
|
||||||
dbus_message_iter_next(&iter);
|
DBUS_TYPE_INT32, &desk_x,
|
||||||
dbus_message_iter_get_basic(&iter, &desk_x);
|
DBUS_TYPE_INT32, &desk_y,
|
||||||
dbus_message_iter_next(&iter);
|
DBUS_TYPE_INVALID))
|
||||||
dbus_message_iter_get_basic(&iter, &desk_y);
|
{
|
||||||
|
ERR("could not get Del arguments: %s: %s", err.name, err.message);
|
||||||
|
dbus_error_free(&err);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DBG("del bg container=%d, zone=%d, pos=%d,%d",
|
||||||
|
container, zone, desk_x, desk_y);
|
||||||
|
|
||||||
e_bg_del(container, zone, desk_x, desk_y);
|
e_bg_del(container, zone, desk_x, desk_y);
|
||||||
e_bg_update();
|
e_bg_update();
|
||||||
e_config_save_queue();
|
e_config_save_queue();
|
||||||
|
}
|
||||||
|
|
||||||
return dbus_message_new_method_return(msg);
|
return dbus_message_new_method_return(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DBusMessage*
|
static DBusMessage*
|
||||||
cb_desktop_bglist(E_DBus_Object *obj, DBusMessage *msg)
|
cb_desktop_bglist(E_DBus_Object *obj __UNUSED__, DBusMessage *msg)
|
||||||
{
|
{
|
||||||
Eina_List *list;
|
Eina_List *list;
|
||||||
E_Config_Desktop_Background *bg;
|
E_Config_Desktop_Background *bg;
|
||||||
|
@ -159,6 +168,9 @@ cb_desktop_bglist(E_DBus_Object *obj, DBusMessage *msg)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DBG("Background container=%d zone=%d pos=%d,%d path=%s",
|
||||||
|
bg->container, bg->zone, bg->desk_x, bg->desk_y, bg->file);
|
||||||
|
|
||||||
dbus_message_iter_open_container(&arr, DBUS_TYPE_STRUCT, NULL, &sub);
|
dbus_message_iter_open_container(&arr, DBUS_TYPE_STRUCT, NULL, &sub);
|
||||||
dbus_message_iter_append_basic(&sub, DBUS_TYPE_INT32, &(bg->container));
|
dbus_message_iter_append_basic(&sub, DBUS_TYPE_INT32, &(bg->container));
|
||||||
dbus_message_iter_append_basic(&sub, DBUS_TYPE_INT32, &(bg->zone));
|
dbus_message_iter_append_basic(&sub, DBUS_TYPE_INT32, &(bg->zone));
|
||||||
|
@ -202,7 +214,7 @@ void msgbus_desktop_init(Eina_Array *ifaces)
|
||||||
e_dbus_interface_method_add(iface, "Add", "iiiis", "",
|
e_dbus_interface_method_add(iface, "Add", "iiiis", "",
|
||||||
cb_desktop_bgadd);
|
cb_desktop_bgadd);
|
||||||
e_dbus_interface_method_add(iface, "Del", "iiii", "",
|
e_dbus_interface_method_add(iface, "Del", "iiii", "",
|
||||||
cb_desktop_bgadd);
|
cb_desktop_bgdel);
|
||||||
e_dbus_interface_method_add(iface, "List", "", "a(iiiis)",
|
e_dbus_interface_method_add(iface, "List", "", "a(iiiis)",
|
||||||
cb_desktop_bglist);
|
cb_desktop_bglist);
|
||||||
e_msgbus_interface_attach(iface);
|
e_msgbus_interface_attach(iface);
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
/*
|
|
||||||
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
|
||||||
*/
|
|
||||||
#ifndef MSGBUS_DESKTOP_H
|
|
||||||
#define MSGBUS_DESKTOP_H
|
|
||||||
|
|
||||||
void msgbus_desktop_init(Eina_Array *ifaces);
|
|
||||||
|
|
||||||
#endif /* MSGBUS_DESKTOP_H */
|
|
|
@ -1,30 +1,30 @@
|
||||||
/*
|
/*
|
||||||
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
||||||
*/
|
*/
|
||||||
#include "e.h"
|
#include "e_mod_main.h"
|
||||||
#include "msgbus_lang.h"
|
|
||||||
|
static int _log_dom = -1;
|
||||||
|
#define DBG(...) EINA_LOG_DOM_DBG(_log_dom, __VA_ARGS__)
|
||||||
|
#define WARN(...) EINA_LOG_DOM_WARN(_log_dom, __VA_ARGS__)
|
||||||
|
#define INF(...) EINA_LOG_DOM_INFO(_log_dom, __VA_ARGS__)
|
||||||
|
#define ERR(...) EINA_LOG_DOM_ERR(_log_dom, __VA_ARGS__)
|
||||||
|
|
||||||
static DBusMessage *
|
static DBusMessage *
|
||||||
cb_langs(E_DBus_Object *obj, DBusMessage *message)
|
cb_langs(E_DBus_Object *obj __UNUSED__, DBusMessage *message)
|
||||||
{
|
{
|
||||||
DBusMessage *reply;
|
DBusMessage *reply;
|
||||||
DBusMessageIter iter;
|
DBusMessageIter iter;
|
||||||
DBusMessageIter arr;
|
DBusMessageIter arr;
|
||||||
Eina_List * languages;
|
const Eina_List *l;
|
||||||
Eina_List * l;
|
const char *str;
|
||||||
|
|
||||||
memset(&arr, 0, sizeof(DBusMessageIter));
|
|
||||||
|
|
||||||
reply = dbus_message_new_method_return(message);
|
reply = dbus_message_new_method_return(message);
|
||||||
dbus_message_iter_init_append(reply, &iter);
|
dbus_message_iter_init_append(reply, &iter);
|
||||||
dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, "s", &arr);
|
dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, "s", &arr);
|
||||||
|
|
||||||
languages = e_intl_language_list();
|
EINA_LIST_FOREACH(e_intl_language_list(), l, str)
|
||||||
for (l = languages; l; l = l->next)
|
|
||||||
{
|
{
|
||||||
const char *str;
|
DBG("language: %s", str);
|
||||||
|
|
||||||
str = l->data;
|
|
||||||
dbus_message_iter_append_basic(&arr, DBUS_TYPE_STRING, &str);
|
dbus_message_iter_append_basic(&arr, DBUS_TYPE_STRING, &str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,6 +37,13 @@ void msgbus_lang_init(Eina_Array *ifaces)
|
||||||
{
|
{
|
||||||
E_DBus_Interface* iface;
|
E_DBus_Interface* iface;
|
||||||
|
|
||||||
|
if (_log_dom == -1)
|
||||||
|
{
|
||||||
|
_log_dom = eina_log_domain_register("msgbus_lang", EINA_COLOR_BLUE);
|
||||||
|
if (_log_dom < 0)
|
||||||
|
EINA_LOG_ERR("could not register msgbus_lang log domain!");
|
||||||
|
}
|
||||||
|
|
||||||
iface = e_dbus_interface_new("org.enlightenment.wm.Language");
|
iface = e_dbus_interface_new("org.enlightenment.wm.Language");
|
||||||
if (iface)
|
if (iface)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
/*
|
|
||||||
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
|
||||||
*/
|
|
||||||
#ifndef MSGBUS_LANG_H
|
|
||||||
#define MSGBUS_LANG_H
|
|
||||||
|
|
||||||
void msgbus_lang_init(Eina_Array *ifaces);
|
|
||||||
|
|
||||||
#endif /* MSGBUS_LANG_H */
|
|
Loading…
Reference in New Issue