/** Install gconf notification callbacks */ static void fba_gconf_init(void) { /* ALS enabled setting */ mce_gconf_track_bool(MCE_GCONF_DISPLAY_ALS_ENABLED, &use_als_flag, ALS_ENABLED_DEFAULT, fba_gconf_cb, &use_als_gconf_id); /* ALS input filter setting */ mce_gconf_track_string(MCE_GCONF_DISPLAY_ALS_INPUT_FILTER, &als_input_filter, ALS_INPUT_FILTER_DEFAULT, fba_gconf_cb, &als_input_filter_gconf_id); /* ALS sample time setting */ mce_gconf_track_int(MCE_GCONF_DISPLAY_ALS_SAMPLE_TIME, &als_sample_time, ALS_SAMPLE_TIME_DEFAULT, fba_gconf_cb, &als_sample_time_gconf_id); /* Color profile setting */ mce_gconf_notifier_add(MCE_GCONF_DISPLAY_PATH, MCE_GCONF_DISPLAY_COLOR_PROFILE, fba_gconf_cb, &color_profile_gconf_id); init_current_color_profile(); }
const gchar *g_module_check_init(GModule *module) { (void)module; /* Read lux ramps from configuration */ als_filter_load_config(&lut_display); als_filter_load_config(&lut_led); als_filter_load_config(&lut_key); /* Get intial display state */ display_state = datapipe_get_gint(display_state_pipe); /* Append triggers/filters to datapipes */ append_filter_to_datapipe(&display_brightness_pipe, display_brightness_filter); append_filter_to_datapipe(&led_brightness_pipe, led_brightness_filter); append_filter_to_datapipe(&key_backlight_pipe, key_backlight_filter); append_output_trigger_to_datapipe(&display_state_pipe, display_state_trigger); /* Add dbus method call handlers */ mce_dbus_handler_add(MCE_REQUEST_IF, MCE_REQ_ALS_ENABLE, NULL, DBUS_MESSAGE_TYPE_METHOD_CALL, als_enable_req_dbus_cb); mce_dbus_handler_add(MCE_REQUEST_IF, MCE_REQ_ALS_DISABLE, NULL, DBUS_MESSAGE_TYPE_METHOD_CALL, als_disable_req_dbus_cb); mce_dbus_handler_add(MCE_REQUEST_IF, MCE_COLOR_PROFILE_GET, NULL, DBUS_MESSAGE_TYPE_METHOD_CALL, color_profile_get_req_dbus_cb); mce_dbus_handler_add(MCE_REQUEST_IF, MCE_COLOR_PROFILE_IDS_GET, NULL, DBUS_MESSAGE_TYPE_METHOD_CALL, color_profile_ids_get_req_dbus_cb); mce_dbus_handler_add(MCE_REQUEST_IF, MCE_COLOR_PROFILE_CHANGE_REQ, NULL, DBUS_MESSAGE_TYPE_METHOD_CALL, color_profile_change_req_dbus_cb); /* ALS enabled setting */ mce_gconf_notifier_add(MCE_GCONF_DISPLAY_PATH, MCE_GCONF_DISPLAY_ALS_ENABLED_PATH, use_als_gconf_cb, &use_als_gconf_id); mce_gconf_get_bool(MCE_GCONF_DISPLAY_ALS_ENABLED_PATH, &use_als_flag); /* Color profile setting */ mce_gconf_notifier_add(MCE_GCONF_DISPLAY_PATH, MCE_GCONF_DISPLAY_COLOR_PROFILE_PATH, color_profile_gconf_cb, &color_profile_gconf_id); if( init_color_profiles() ) init_current_color_profile(); rethink_als_status(); return NULL; }