Device State Management interface
Weinehall David (Nokia-M/Tampere)
David.Weinehall at nokia.com
Mon Jul 3 14:19:03 EEST 2006
[I was directed to this list in a discussion with Jim Gettys; I hope
this is indeed the proper forum to discuss this issue.]
In the DSM-team at OSSO/Nokia (working on the 770 Internet Tablet),
we are currently using a home-brew set of DBus signals and method-calls
to handle state- and mode-management information.
What I'd like to open up a discussion about is:
a.) Is this something that already has other (better) solutions?
b.) Is this something anyone else is interested in, or is this something
that has a quite narrow scope of interest?
and if this indeed is something that has not been solved yet, and people
are interested, would our current interface be a reasonable starting
point?
The interface we currently provide is (pasted from the header file;
MCE stands for Mode Control Entity):
/** The MCE DBus service */
#define MCE_SERVICE "com.nokia.mce"
/** The MCE DBus Request interface */
#define MCE_REQUEST_IF "com.nokia.mce.request"
/** The MCE DBus Signal interface */
#define MCE_SIGNAL_IF "com.nokia.mce.signal"
/** The MCE DBus Request path */
#define MCE_REQUEST_PATH "/com/nokia/mce/request"
/** The MCE DBus Signal path */
#define MCE_SIGNAL_PATH "/com/nokia/mce/signal"
/** The MCE DBus error interface; currently not used */
#define MCE_ERROR_FATAL "com.nokia.mce.error.fatal"
/** The DBus interface for invalid arguments; currently not used */
#define MCE_ERROR_INVALID_ARGS
"org.freedesktop.DBus.Error.InvalidArgs"
/**
* Request device mode
*
* @since v0.5.3
* @return @c dbus_string_t with the device mode
* (see @ref mce/mode-names.h for valid modes)
*/
#define MCE_DEVICE_MODE_GET "get_device_mode"
/**
* Request device lock mode
*
* @since v0.8.0
* @return @c dbus_string_t with the device lock mode
* (see @ref mce/mode-names.h for valid lock modes)
*/
#define MCE_DEVLOCK_MODE_GET "get_devicelock_mode"
/**
* Request touchscreen/keypad lock mode
*
* @since v1.4.0
* @return @c dbus_string_t with the touchscreen/keypad lock mode
* (see @ref mce/mode-names.h for valid lock modes)
*/
#define MCE_TKLOCK_MODE_GET "get_tklock_mode"
/**
* Request MCE version
*
* @since v1.1.6
* @return @c dbus_string_t with the MCE version
*/
#define MCE_VERSION_GET "get_version"
/**
* Unblank display
*
* @since v0.5
*/
#define MCE_DISPLAY_ON_REQ "req_display_state_on"
/**
* Prevent display from blanking
*
* @since v0.5
*/
#define MCE_PREVENT_BLANK_REQ "req_display_blanking_pause"
/**
* Request device mode change
*
* @since v0.5
* @param mode @c dbus_string_t with the new device mode
* (see @ref mce/mode-names.h for valid device modes)
*/
#define MCE_DEVICE_MODE_CHANGE_REQ "req_device_mode_change"
/**
* Request tklock mode change
*
* @since v1.4.0
* @param mode @c dbus_string_t with the new touchscreen/keypad lock
mode
* (see @ref mce/mode-names.h for valid lock modes)
*/
#define MCE_TKLOCK_MODE_CHANGE_REQ "req_tklock_mode_change"
/**
* Request powerup
*
* @since v0.5
*/
#define MCE_POWERUP_REQ "req_powerup"
/**
* Request reboot
*
* @since v0.5.5
*/
#define MCE_REBOOT_REQ "req_reboot"
/**
* Request shutdown
*
* @since v0.5
*/
#define MCE_SHUTDOWN_REQ "req_shutdown"
/**
* Validate device lock code
*
* @since v0.9.10
* @param code @c dbus_string_t with the encrypted password from @c
crypt(3)
* @param salt @c dbus_string_t with the salt used with @c crypt(3)
* @return @c dbus_bool_t @c TRUE if the lock code is correct,
* @c FALSE if the lock code is incorrect
*/
#define MCE_DEVLOCK_VALIDATE_CODE_REQ "validate_devicelock_code"
/**
* Set alarm mode
*
* @since v0.9.10
* @param mode @c dbus_string_t with the new alarm mode
* (see @ref mce/mode-names.h for valid alarm modes)
*/
#define MCE_ALARM_MODE_CHANGE_REQ "set_alarm_mode"
/**
* Notify everyone that the system is about to shut down
*
* @since v0.4.1
*/
#define MCE_SHUTDOWN_SIG "shutdown_ind"
/**
* Signal that indicates that the device lock mode has changed
*
* @since v0.8.0
* @param mode @c dbus_string_t with the new lock mode
* (see @ref mce/mode-names.h for valid lock modes)
*/
#define MCE_DEVLOCK_MODE_SIG "devicelock_mode_ind"
/**
* Signal that indicates that the touchscreen/keypad lock mode has
changed
*
* @since v1.4.0
* @param mode @c dbus_string_t with the new lock mode
* (see @ref mce/mode-names.h for valid lock modes)
*/
#define MCE_TKLOCK_MODE_SIG "tklock_mode_ind"
/**
* Notify everyone to save unsaved data
*
* @since v0.3
*/
#define MCE_DATA_SAVE_SIG "save_unsaved_data_ind"
/**
* Notify everyone that the system is active/inactive
*
* @since v0.9.3
* @param inactive @c dbus_bool_t @c TRUE if the system is inactive,
* @c FALSE if the system is active
*/
#define MCE_INACTIVITY_SIG "system_inactivity_ind"
/**
* Notify everyone that the device mode has changed
*
* @since v0.5
* @param mode @c dbus_string_t with the new device mode
* (see @ref mce/mode-names.h for valid device modes)
*/
#define MCE_DEVICE_MODE_SIG "sig_device_mode_ind"
/**
* Notify everyone that the home button was pressed (short press)
*
* @since v0.3
*/
#define MCE_HOME_KEY_SIG "sig_home_key_pressed_ind"
/**
* Notify everyone that the home button was pressed (long press)
*
* @since v0.3
*/
#define MCE_HOME_KEY_LONG_SIG "sig_home_key_pressed_long_ind"
Regards: David Weinehall
More information about the xdg
mailing list