[maemo-commits] [maemo-commits] r8783 - in projects/haf/branches/maemo-af-desktop/hildon-desktop: . libhildondesktop libhildonwm
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Fri Dec 15 16:53:18 EET 2006
- Previous message: [maemo-commits] r8782 - in projects/haf/branches/gtk+/maemo-gtk-2-10: . gtk
- Next message: [maemo-commits] r8784 - in projects/haf/branches/maemo-af-desktop/hildon-desktop: . libhildondesktop
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: moimart
Date: 2006-12-15 16:53:16 +0200 (Fri, 15 Dec 2006)
New Revision: 8783
Modified:
projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog
projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hn-app-switcher.c
projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildonwm/hd-wm.c
Log:
* libhildondesktop/hn-app-switcher.c:
* libhildonwm/hd-wm.c:
- Moved bgkill and lowmem handlers from appswitcher to HDWM.
* ChangeLog udpated.
Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog
===================================================================
--- projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog 2006-12-15 12:57:25 UTC (rev 8782)
+++ projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog 2006-12-15 14:53:16 UTC (rev 8783)
@@ -1,3 +1,9 @@
+2006-12-15 Moises Martinez <moises.martinzes at nokia.com>
+
+ * libhildondesktop/hn-app-switcher.c:
+ * libhildonwm/hd-wm.c:
+ - Moved bgkill and lowmem handlers from appswitcher to HDWM.
+
2006-12-15 Johan Bilien <johan.bilien at nokia.com>
* libhildondesktop/desktop-panel-window.c: Fixed a warning
Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hn-app-switcher.c
===================================================================
--- projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hn-app-switcher.c 2006-12-15 12:57:25 UTC (rev 8782)
+++ projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hn-app-switcher.c 2006-12-15 14:53:16 UTC (rev 8783)
@@ -130,24 +130,6 @@
#define AS_INTERNAL_PADDING 10
#define AS_SEPARATOR_HEIGHT 10
-/* lowmem signals */
-#define LOWMEM_ON_SIGNAL_INTERFACE "com.nokia.ke_recv.lowmem_on"
-#define LOWMEM_ON_SIGNAL_PATH "/com/nokia/ke_recv/lowmem_on"
-#define LOWMEM_ON_SIGNAL_NAME "lowmem_on"
-
-#define LOWMEM_OFF_SIGNAL_INTERFACE "com.nokia.ke_recv.lowmem_off"
-#define LOWMEM_OFF_SIGNAL_PATH "/com/nokia/ke_recv/lowmem_off"
-#define LOWMEM_OFF_SIGNAL_NAME "lowmem_off"
-
-/* bgkill signals */
-#define BGKILL_ON_SIGNAL_INTERFACE "com.nokia.ke_recv.bgkill_on"
-#define BGKILL_ON_SIGNAL_PATH "/com/nokia/ke_recv/bgkill_on"
-#define BGKILL_ON_SIGNAL_NAME "bgkill_on"
-
-#define BGKILL_OFF_SIGNAL_INTERFACE "com.nokia.ke_recv.bgkill_off"
-#define BGKILL_OFF_SIGNAL_PATH "/com/nokia/ke_recv/bgkill_off"
-#define BGKILL_OFF_SIGNAL_NAME "bgkill_off"
-
/* sound samples */
#define HN_WINDOW_OPEN_SOUND DATADIR"/sounds/ui-window_open.wav"
#define HN_WINDOW_CLOSE_SOUND DATADIR"/sounds/ui-window_close.wav"
@@ -285,80 +267,6 @@
G_DEFINE_TYPE (HNAppSwitcher, hn_app_switcher, TASKNAVIGATOR_TYPE_ITEM);
-static guint app_switcher_signals[LAST_SIGNAL] = { 0 };
-
-
-/* LOWMEM signals handler: listen to LOWMEM_ON and LOWMEM_OFF events,
- * and relays them through the HNAppSwitcher "lowmem" signal.
- */
-static DBusHandlerResult
-lowmem_handler (DBusConnection *conn,
- DBusMessage *msg,
- void *data)
-{
- HNAppSwitcher *app_switcher = HN_APP_SWITCHER (data);
- const gchar *member;
-
- if (dbus_message_get_type (msg) != DBUS_MESSAGE_TYPE_SIGNAL)
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-
- member = dbus_message_get_member (msg);
- if (!member || member[0] == '\0')
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-
- if (strcmp (LOWMEM_ON_SIGNAL_NAME, member) == 0)
- {
- g_signal_emit (app_switcher, app_switcher_signals[LOWMEM], 0, TRUE);
-
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
- }
-
- if (strcmp (LOWMEM_OFF_SIGNAL_NAME, member) == 0)
- {
- g_signal_emit (app_switcher, app_switcher_signals[LOWMEM], 0, FALSE);
-
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
- }
-
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-}
-
-/* BGKILL signals handler: listens to the BGKILL_ON and BGKILL_OFF
- * events, and relays them through the HNAppSwitcher "bgkill"
- * signal
- */
-static DBusHandlerResult
-bgkill_handler (DBusConnection *conn,
- DBusMessage *msg,
- void *data)
-{
- HNAppSwitcher *app_switcher = HN_APP_SWITCHER (data);
- const gchar *member;
-
- if (dbus_message_get_type (msg) != DBUS_MESSAGE_TYPE_SIGNAL)
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-
- member = dbus_message_get_member (msg);
- if (!member || member[0] == '\0')
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-
- if (strcmp (BGKILL_ON_SIGNAL_NAME, member) == 0)
- {
- g_signal_emit (app_switcher, app_switcher_signals[BGKILL], 0, TRUE);
-
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
- }
-
- if (strcmp (BGKILL_OFF_SIGNAL_NAME, member) == 0)
- {
- g_signal_emit (app_switcher, app_switcher_signals[BGKILL], 0, FALSE);
-
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
- }
-
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-}
-
static gint
get_app_button_pos (GtkWidget *button)
{
@@ -1147,9 +1055,6 @@
hn_app_switcher_osso_initialize (HNAppSwitcher *app_switcher)
{
HNAppSwitcherPrivate *priv = app_switcher->priv;
- DBusConnection *conn = NULL;
- DBusObjectPathVTable lowmem_vtable, bgkill_vtable;
- gboolean res;
osso_hw_state_t hs = {0};
priv->osso = osso_initialize ("AS_DIMMED_infoprint", "0.1", FALSE, NULL);
@@ -1166,70 +1071,8 @@
hn_app_osso_hw_cb, app_switcher);
- /* Set up the monitoring of MCE events in order to be able
- * to top Home or open the menu
- */
- conn = osso_get_sys_dbus_connection (priv->osso);
- if (!conn)
- {
- osso_log (LOG_ERR, "Failed getting connection to system bus");
- return;
}
-
-#define MAKE_SIGNAL_RULE(_iface) "type=\'signal\', interface=\'" _iface "\'"
-
- lowmem_vtable.message_function = lowmem_handler;
- lowmem_vtable.unregister_function = NULL;
-
- res = dbus_connection_register_object_path (conn, LOWMEM_ON_SIGNAL_PATH,
- &lowmem_vtable,
- app_switcher);
- if (res)
- {
- dbus_bus_add_match (conn, MAKE_SIGNAL_RULE (LOWMEM_ON_SIGNAL_INTERFACE), NULL);
- dbus_connection_flush (conn);
- }
- else
- osso_log(LOG_ERR, "Failed registering LOWMEM_ON handler");
-
- res = dbus_connection_register_object_path (conn, LOWMEM_OFF_SIGNAL_PATH,
- &lowmem_vtable,
- app_switcher);
- if (res)
- {
- dbus_bus_add_match (conn, MAKE_SIGNAL_RULE (LOWMEM_OFF_SIGNAL_INTERFACE), NULL);
- dbus_connection_flush (conn);
- }
- else
- osso_log(LOG_ERR, "Failed registering LOWMEM_OFF handler");
-
- bgkill_vtable.message_function = bgkill_handler;
- bgkill_vtable.unregister_function = NULL;
-
- res = dbus_connection_register_object_path (conn, BGKILL_ON_SIGNAL_PATH,
- &bgkill_vtable,
- app_switcher);
- if (res)
- {
- dbus_bus_add_match (conn, MAKE_SIGNAL_RULE (BGKILL_ON_SIGNAL_INTERFACE), NULL);
- dbus_connection_flush (conn);
- }
- else
- osso_log(LOG_ERR, "Failed registering BGKILL_ON handler");
-
- res = dbus_connection_register_object_path (conn, BGKILL_OFF_SIGNAL_PATH,
- &bgkill_vtable,
- app_switcher);
- if (res)
- {
- dbus_bus_add_match (conn, MAKE_SIGNAL_RULE (BGKILL_OFF_SIGNAL_INTERFACE), NULL);
- dbus_connection_flush (conn);
- }
- else
- osso_log(LOG_ERR, "Failed registering BGKILL_OFF handler");
-}
-
/* We must override the "show-all" method, as we may have stuff we don't want
* to show, like the main button or the application buttons
*/
Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildonwm/hd-wm.c
===================================================================
--- projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildonwm/hd-wm.c 2006-12-15 12:57:25 UTC (rev 8782)
+++ projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildonwm/hd-wm.c 2006-12-15 14:53:16 UTC (rev 8783)
@@ -60,9 +60,30 @@
#define TASKNAV_SERVICE_NAME "com.nokia.tasknav"
#define TASKNAV_INSENSITIVE_INTERFACE "com.nokia.tasknav.tasknav_insensitive"
#define TASKNAV_SENSITIVE_INTERFACE "com.nokia.tasknav.tasknav_sensitive"
+
#define MCE_SERVICE "com.nokia.mce"
#define MCE_SIGNAL_INTERFACE "com.nokia.mce.signal"
#define MCE_SIGNAL_PATH "/com/nokia/mce/signal"
+
+/* lowmem signals */
+#define LOWMEM_ON_SIGNAL_INTERFACE "com.nokia.ke_recv.lowmem_on"
+#define LOWMEM_ON_SIGNAL_PATH "/com/nokia/ke_recv/lowmem_on"
+#define LOWMEM_ON_SIGNAL_NAME "lowmem_on"
+
+#define LOWMEM_OFF_SIGNAL_INTERFACE "com.nokia.ke_recv.lowmem_off"
+#define LOWMEM_OFF_SIGNAL_PATH "/com/nokia/ke_recv/lowmem_off"
+#define LOWMEM_OFF_SIGNAL_NAME "lowmem_off"
+
+/* bgkill signals */
+#define BGKILL_ON_SIGNAL_INTERFACE "com.nokia.ke_recv.bgkill_on"
+#define BGKILL_ON_SIGNAL_PATH "/com/nokia/ke_recv/bgkill_on"
+#define BGKILL_ON_SIGNAL_NAME "bgkill_on"
+
+#define BGKILL_OFF_SIGNAL_INTERFACE "com.nokia.ke_recv.bgkill_off"
+#define BGKILL_OFF_SIGNAL_PATH "/com/nokia/ke_recv/bgkill_off"
+#define BGKILL_OFF_SIGNAL_NAME "bgkill_off"
+
+
/* hardware signals */
#define HOME_LONG_PRESS "sig_home_key_pressed_long_ind"
#define HOME_PRESS "sig_home_key_pressed_ind"
@@ -461,6 +482,74 @@
}
static DBusHandlerResult
+lowmem_handler (DBusConnection *conn,
+ DBusMessage *msg,
+ void *data)
+{
+ const gchar *member;
+ HDWM *hdwm = HD_WM (data);
+
+ if (dbus_message_get_type (msg) != DBUS_MESSAGE_TYPE_SIGNAL)
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+
+ member = dbus_message_get_member (msg);
+ if (!member || member[0] == '\0')
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+
+ if (strcmp (LOWMEM_ON_SIGNAL_NAME, member) == 0)
+ {
+ hd_wm_memory_lowmem_func (TRUE);
+ g_signal_emit_by_name (hdwm,"entry_info_changed");
+
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ }
+
+ if (strcmp (LOWMEM_OFF_SIGNAL_NAME, member) == 0)
+ {
+ hd_wm_memory_lowmem_func (FALSE);
+ g_signal_emit_by_name (hdwm,"entry_info_changed");
+
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ }
+
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+}
+
+static DBusHandlerResult
+bgkill_handler (DBusConnection *conn,
+ DBusMessage *msg,
+ void *data)
+{
+ const gchar *member;
+ HDWM *hdwm = HD_WM (data);
+
+ if (dbus_message_get_type (msg) != DBUS_MESSAGE_TYPE_SIGNAL)
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+
+ member = dbus_message_get_member (msg);
+ if (!member || member[0] == '\0')
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+
+ if (strcmp (BGKILL_ON_SIGNAL_NAME, member) == 0)
+ {
+ hd_wm_memory_bgkill_func (TRUE);
+ g_signal_emit_by_name (hdwm,"entry_info_changed");
+
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ }
+
+ if (strcmp (BGKILL_OFF_SIGNAL_NAME, member) == 0)
+ {
+ hd_wm_memory_bgkill_func (FALSE);
+ g_signal_emit_by_name (hdwm,"entry_info_changed");
+
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ }
+
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+}
+
+static DBusHandlerResult
mce_handler (DBusConnection *conn,
DBusMessage *msg,
void *data)
@@ -513,18 +602,14 @@
return 1;
if (strcmp(operation, "lru") == 0)
- {
- return hd_wm_memory_kill_lru();
- }
- else if (strcmp(operation, "all") == 0)
- {
- return hd_wm_memory_kill_all_watched(TRUE);
- }
- else if (strcmp(operation, "app") != 0 || (arguments->len < 2) )
- {
- return 1;
- }
-
+ return hd_wm_memory_kill_lru ();
+ else
+ if (strcmp(operation, "all") == 0)
+ return hd_wm_memory_kill_all_watched (TRUE);
+ else
+ if (strcmp(operation, "app") != 0 || (arguments->len < 2) )
+ return 1;
+
/* Kill a certain application */
appname = (gchar *)g_array_index(arguments, osso_rpc_t, 1).value.s;
@@ -595,8 +680,8 @@
NULL, NULL,
g_cclosure_marshal_VOID__POINTER,
G_TYPE_NONE,
- 1,
- G_TYPE_POINTER);
+ 1,
+ G_TYPE_POINTER);
hdwm_signals[HDWM_SHOW_A_MENU_SIGNAL] =
g_signal_new("show_menu",
@@ -609,6 +694,35 @@
}
+static void hd_wm_register_object_path (HDWM *hdwm,
+ DBusConnection *conn,
+ DBusObjectPathMessageFunction func,
+ gchar *interface,
+ gchar *path)
+{
+ DBusObjectPathVTable vtable;
+ gchar *match_rule;
+ gboolean res;
+
+ vtable.message_function = func;
+ vtable.unregister_function = NULL;
+
+ match_rule = g_strdup_printf("type='signal', interface='%s'", interface);
+
+ res = dbus_connection_register_object_path (conn, path, &vtable, hdwm);
+
+ if (res)
+ {
+ g_debug ("%s Registered",interface);
+ dbus_bus_add_match (conn, match_rule, NULL);
+ dbus_connection_flush(conn);
+ }
+ else
+ g_debug ("I couldn't register %s",interface);
+
+ g_free (match_rule);
+}
+
static void
hd_wm_init (HDWM *hdwm)
{
@@ -616,17 +730,13 @@
DBusError error,sys_error;
gchar *match_rule = NULL;
GdkKeymap *keymap;
- gboolean res;
- DBusObjectPathVTable mce_vtable;
hdwm->priv = hdwmpriv = HD_WM_GET_PRIVATE (hdwm);
- /*memset(&(hdwm->priv), 0, sizeof(HDWMPrivate));*/
+ memset(hdwm->priv, 0, sizeof(HDWMPrivate));
osso_manager_t *osso_man = osso_manager_singleton_get_instance();
- /*hdwm->priv->app_switcher = as;*/
-
/* Check for configurable lowmem values. */
hdwm->priv->lowmem_min_distance
@@ -648,11 +758,6 @@
#if 0
application_switcher_set_dnotify_handler (as, &hd_wm_dnotify_func);
application_switcher_set_shutdown_handler (as, &hd_wm_shutdown_func);
- application_switcher_set_lowmem_handler (as, &hd_wm_memory_lowmem_func);
- application_switcher_set_bgkill_handler (as, &hd_wm_memory_bgkill_func);
-
- g_signal_connect (as, "lowmem", G_CALLBACK (hd_wm_lowmem_cb), NULL);
- g_signal_connect (as, "bgkill", G_CALLBACK (hd_wm_bgkill_cb), NULL);
#endif
/* build our hash of watchable apps via .desktop key/values */
@@ -758,27 +863,35 @@
}
else
{
- mce_vtable.message_function = mce_handler;
- mce_vtable.unregister_function = NULL;
+ hd_wm_register_object_path (hdwm,
+ sys_connection,
+ mce_handler,
+ MCE_SIGNAL_INTERFACE,
+ MCE_SIGNAL_PATH);
- match_rule = g_strdup_printf("type='signal', interface='%s'", MCE_SIGNAL_INTERFACE);
+ hd_wm_register_object_path (hdwm,
+ sys_connection,
+ bgkill_handler,
+ BGKILL_ON_SIGNAL_INTERFACE,
+ BGKILL_ON_SIGNAL_PATH);
- res = dbus_connection_register_object_path (sys_connection,
- MCE_SIGNAL_PATH,
- &mce_vtable,
- hdwm);
-
- if (res)
- {
- g_debug ("MCE Registered");
- dbus_bus_add_match (sys_connection, match_rule, NULL);
- }
- else
- g_debug ("I couldn't register MCE");
+ hd_wm_register_object_path (hdwm,
+ sys_connection,
+ bgkill_handler,
+ BGKILL_OFF_SIGNAL_INTERFACE,
+ BGKILL_OFF_SIGNAL_PATH);
- g_free(match_rule);
+ hd_wm_register_object_path (hdwm,
+ sys_connection,
+ lowmem_handler,
+ LOWMEM_ON_SIGNAL_INTERFACE,
+ LOWMEM_ON_SIGNAL_PATH);
- dbus_connection_flush(sys_connection);
+ hd_wm_register_object_path (hdwm,
+ sys_connection,
+ lowmem_handler,
+ LOWMEM_OFF_SIGNAL_INTERFACE,
+ LOWMEM_OFF_SIGNAL_PATH);
}
}
- Previous message: [maemo-commits] r8782 - in projects/haf/branches/gtk+/maemo-gtk-2-10: . gtk
- Next message: [maemo-commits] r8784 - in projects/haf/branches/maemo-af-desktop/hildon-desktop: . libhildondesktop
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
