/**
* @file dbus-names.h
* D-Bus Interface to the Mode Control Entity
*
* This file is part of mce-dev
*
* Copyright © 2004-2011 Nokia Corporation and/or its subsidiary(-ies).
* Copyright (C) 2013-2017 Jolla Ltd.
*
* @author David Weinehall
* @author Santtu Lakkala
* @author Victor Portnov
* @author Simo Piiroinen
* @author Kimmo Lindholm
*
* These headers are free software; you can redistribute them
* and/or modify them under the terms of the GNU Lesser General Public
* License version 2.1 as published by the Free Software Foundation.
*
* These headers are distributed in the hope that they will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with these headers.
* If not, see .
*/
#ifndef MCE_DBUS_NAMES_H_
# define MCE_DBUS_NAMES_H_
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name MCE D-Bus Service
*
*@{
*/
/** MCE D-Bus service name
*
* @since mce 0.3
*/
# define MCE_SERVICE "com.nokia.mce"
/** MCE D-Bus Request interface
*
* @since mce 0.3
*/
# define MCE_REQUEST_IF "com.nokia.mce.request"
/** MCE D-Bus Signal interface
*
* @since mce 0.3
*/
# define MCE_SIGNAL_IF "com.nokia.mce.signal"
/** MCE D-Bus Request path
*
* @since mce 0.3
*/
# define MCE_REQUEST_PATH "/com/nokia/mce/request"
/** MCE D-Bus Signal path
*
* @since mce 0.3
*/
# define MCE_SIGNAL_PATH "/com/nokia/mce/signal"
/** The MCE D-Bus error interface; currently not used
*
* @since mce 0.3
*/
# define MCE_ERROR_FATAL "com.nokia.mce.error.fatal"
/** The D-Bus interface for invalid arguments; currently not used
*
* @since mce 0.3
*/
# define MCE_ERROR_INVALID_ARGS "org.freedesktop.DBus.Error.InvalidArgs"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Radio State
*
*@{
*/
/** Query radio states
*
* @since mce 1.10.60
*
* Radio state bitmasks are constructed from:
* - #MCE_RADIO_STATE_MASTER
* - #MCE_RADIO_STATE_CELLULAR
* - #MCE_RADIO_STATE_WLAN
* - #MCE_RADIO_STATE_BLUETOOTH
* - #MCE_RADIO_STATE_NFC
* - #MCE_RADIO_STATE_FMTX
*
* @return uint32: bitmask of currently enabled radios
*/
# define MCE_RADIO_STATES_GET "get_radio_states"
/** Request radio states change
*
* @since mce 1.10.60
*
* @note Aegis credential for Nokia N9: mce::DeviceModeControl
*
* Radio state bitmasks are constructed from:
* - #MCE_RADIO_STATE_MASTER
* - #MCE_RADIO_STATE_CELLULAR
* - #MCE_RADIO_STATE_WLAN
* - #MCE_RADIO_STATE_BLUETOOTH
* - #MCE_RADIO_STATE_NFC
* - #MCE_RADIO_STATE_FMTX
*
* Changes the radio state bits set in the mask parameter
* to state given in the value parameter, i.e.
*
* current = (current & ~mask) | (value & mask)
*
* @param value uint32: bitmask of values to use
* @param mask uint32: bitmask of values to change
*/
# define MCE_RADIO_STATES_CHANGE_REQ "req_radio_states_change"
/** Notify everyone that the radio states have changed
*
* @since mce 1.10.60
*
* Radio state bitmasks are constructed from:
* - #MCE_RADIO_STATE_MASTER
* - #MCE_RADIO_STATE_CELLULAR
* - #MCE_RADIO_STATE_WLAN
* - #MCE_RADIO_STATE_BLUETOOTH
* - #MCE_RADIO_STATE_NFC
* - #MCE_RADIO_STATE_FMTX
*
* @param current uint32: bitmask of currently active radios
*/
# define MCE_RADIO_STATES_SIG "radio_states_ind"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Call State
*
*@{
*/
/** Query the call state
*
* @since mce 1.8.1
*
* @return string: current call state, one of:
* - #MCE_CALL_STATE_NONE
* - #MCE_CALL_STATE_RINGING
* - #MCE_CALL_STATE_ACTIVE
* - #MCE_CALL_STATE_SERVICE
*
* @return string: current call type, one of:
* - #MCE_NORMAL_CALL
* - #MCE_EMERGENCY_CALL
*/
# define MCE_CALL_STATE_GET "get_call_state"
/** Request call state change
*
* @since mce 1.8.1
*
* MCE tracks call state separately:
* - from ofono modem and call properties
* - for each client using issuing call state requests
*
* The overall call state will be "ringing" if at least
* one of the tracked entities declares ringing state.
*
* The call type will be "emergency" it at least one of
* the tracked entities declares emergency call type.
*
* If a client that has requested a call state change
* drops from system bus, it will be handled as if
* the client would have made a "none":"normal" request.
*
* @note Aegis credential for Nokia N9: mce::CallStateControl
*
* @param call_state string: call state to request, one of:
* - #MCE_CALL_STATE_NONE
* - #MCE_CALL_STATE_RINGING
* - #MCE_CALL_STATE_ACTIVE
* - #MCE_CALL_STATE_SERVICE
*
* @param call_type string: call type to request, one of:
* - #MCE_NORMAL_CALL
* - #MCE_EMERGENCY_CALL
*
* @return boolean: TRUE if the new call state was accepted, or
* FALSE if the new call state was vetoed
*/
# define MCE_CALL_STATE_CHANGE_REQ "req_call_state_change"
/** Notify everyone that the call state has changed
*
* @since mce 1.8.1
*
* @param call_state string: current call state, one of:
* - #MCE_CALL_STATE_NONE
* - #MCE_CALL_STATE_RINGING
* - #MCE_CALL_STATE_ACTIVE
* - #MCE_CALL_STATE_SERVICE
*
* @param call_type string: current call type, one of:
* - #MCE_NORMAL_CALL
* - #MCE_EMERGENCY_CALL
*/
# define MCE_CALL_STATE_SIG "sig_call_state_ind"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Display State
*
*@{
*/
/** Query the display status
*
* @since mce 1.5.21
*
* Display state is one of:
*
* @return string: current display state, one of:
* - #MCE_DISPLAY_ON_STRING
* - #MCE_DISPLAY_DIM_STRING
* - #MCE_DISPLAY_OFF_STRING
*/
# define MCE_DISPLAY_STATUS_GET "get_display_status"
/** Unblank display
*
* @since mce 0.5
*
* @note Applications should never make explicit display on requests.
*/
# define MCE_DISPLAY_ON_REQ "req_display_state_on"
/**Dim display
*
* @since mce 1.6.20
*
* @note Applications should never make explicit display dim requests.
*/
# define MCE_DISPLAY_DIM_REQ "req_display_state_dim"
/** Blank display
*
* @since mce 1.6.20
*
* @note Lockscreen is also activated when this call is made.
*/
# define MCE_DISPLAY_OFF_REQ "req_display_state_off"
/** Set display to low power mode
*
* @since mce 1.33.0
*
* Blank screen via going through Display Low Power state.
*
* If LPM feature is not enabled, blanks display immediately.
*
* Low power mode is a display off sub state. From normal
* display state signaling point of view it behaves just as
* display off would. Depending on available hw support and
* configuration extra ipc relevant for home screen / system
* ui only might happen.
*/
# define MCE_DISPLAY_LPM_REQ "req_display_state_lpm"
/** Notify everyone that the display is on/dimmed/off
*
* @since mce 1.5.21
*
* @param display_state string: current display state, one of:
* - #MCE_DISPLAY_ON_STRING
* - #MCE_DISPLAY_DIM_STRING
* - #MCE_DISPLAY_OFF_STRING
*/
# define MCE_DISPLAY_SIG "display_status_ind"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Touchscreen And Keypad Lock State
* @{
*/
/** Query the touchscreen/keypad lock mode
*
* @since mce 1.4.0
*
* @return string: current tklock state, one of:
* - #MCE_TK_LOCKED
* - #MCE_TK_SILENT_LOCKED
* - #MCE_TK_LOCKED_DIM
* - #MCE_TK_LOCKED_DELAY
* - #MCE_TK_SILENT_LOCKED_DIM
* - #MCE_TK_UNLOCKED
* - #MCE_TK_SILENT_UNLOCKED
*/
# define MCE_TKLOCK_MODE_GET "get_tklock_mode"
/** Request tklock mode change
*
* @since mce 1.4.0
*
* @note Aegis credential for Nokia N9: mce::TKLockControl
*
* @param mode string: requested tklock state, one of:
* - #MCE_TK_LOCKED
* - #MCE_TK_SILENT_LOCKED
* - #MCE_TK_LOCKED_DIM
* - #MCE_TK_LOCKED_DELAY
* - #MCE_TK_SILENT_LOCKED_DIM
* - #MCE_TK_UNLOCKED
* - #MCE_TK_SILENT_UNLOCKED
*/
# define MCE_TKLOCK_MODE_CHANGE_REQ "req_tklock_mode_change"
/** Signal that indicates that the touchscreen/keypad lock mode has changed
*
* @since mce 1.4.0
*
* @param mode string: current tklock state, one of:
* - #MCE_TK_LOCKED
* - #MCE_TK_SILENT_LOCKED
* - #MCE_TK_LOCKED_DIM
* - #MCE_TK_LOCKED_DELAY
* - #MCE_TK_SILENT_LOCKED_DIM
* - #MCE_TK_UNLOCKED
* - #MCE_TK_SILENT_UNLOCKED
*/
# define MCE_TKLOCK_MODE_SIG "tklock_mode_ind"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Display Blank Prevention
*
*@{
*/
/** Prevent display from blanking
*
* @since mce 0.5
*
* Normal blanking timers are stopped for 60 seconds - under roughly
* the following conditions:
*
* - Display is already on and lockscreen is not active
*
* - Display is already on, lockscreen is active but
* compositor has notified that user interaction is expected
* and the blanking prevent request originates from the same
* process that owns the topmost window on screen.
*
* The exact details are subject to change and clients showld
* track #MCE_PREVENT_BLANK_ALLOWED_SIG signals to know when
* making blank prevention calls are allowed/ignored (and query
* the initial state with #MCE_PREVENT_BLANK_ALLOWED_GET).
*
* To keep display from blanking for longer periods, the client
* needs to re-issue this call every 60 seconds.
*
* When application no longer wishes to keep display from blanking,
* it should make a #MCE_CANCEL_PREVENT_BLANK_REQ method call.
*
* @note If client drops from the system bus, or misses the 60 second
* renew period, it is handled as if the client would have made
* a #MCE_CANCEL_PREVENT_BLANK_REQ method call.
*
* @note Previously mce waited exactly 60 seconds for renew calls
* which meant clients had to use shorter than 60 second
* renew periods to avoid hiccups. Since mce >= 1.93.0
* the hard limit is 65 seconds and thus clients can schedule
* renewing to occur once / 60 seconds.
*/
# define MCE_PREVENT_BLANK_REQ "req_display_blanking_pause"
/** Cancel display blanking prevention
*
* @since mce 1.10.35
*/
# define MCE_CANCEL_PREVENT_BLANK_REQ "req_display_cancel_blanking_pause"
/** Get current blank prevention status
*
* @since mce 1.51.0
*
* @return string: current blank prevention status, one of:
* - #MCE_PREVENT_BLANK_ACTIVE_STRING
* - #MCE_PREVENT_BLANK_INACTIVE_STRING
*/
# define MCE_PREVENT_BLANK_GET "get_display_blanking_pause"
/** Notify everyone whether the display blanking is paused
*
* @since mce 1.51.0
*
* @param status string: current blank prevention status, one of:
* - #MCE_PREVENT_BLANK_ACTIVE_STRING
* - #MCE_PREVENT_BLANK_INACTIVE_STRING
*/
# define MCE_PREVENT_BLANK_SIG "display_blanking_pause_ind"
/** Query whether MCE_PREVENT_BLANK_REQ request can be made
*
* @since 1.93.0
*
* See #MCE_PREVENT_BLANK_REQ for details.
*
* @return boolean: true for allowed, false for not allowed
*/
# define MCE_PREVENT_BLANK_ALLOWED_GET "get_display_blanking_pause_allowed"
/** Notify change in whether MCE_PREVENT_BLANK_REQ request can be made
*
* @since 1.93.0
*
* See #MCE_PREVENT_BLANK_REQ for details.
*
* @param boolean: true for allowed, false for not allowed
*/
# define MCE_PREVENT_BLANK_ALLOWED_SIG "display_blanking_pause_allowed_ind"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Display Blanking Inhibit State
*
*@{
*/
/** Get current blank inhibition status
*
* @since mce 1.51.0
*
* @return string: current blanking inhibit status, one of:
* - #MCE_INHIBIT_BLANK_ACTIVE_STRING
* - #MCE_INHIBIT_BLANK_INACTIVE_STRING
*/
# define MCE_BLANKING_INHIBIT_GET "get_display_blanking_inhibit"
/** Notify everyone whether the display blanking is inhibited
*
* @since mce 1.51.0
*
* @param status string: current blanking inhibit status, one of:
* - #MCE_INHIBIT_BLANK_ACTIVE_STRING
* - #MCE_INHIBIT_BLANK_INACTIVE_STRING
*/
# define MCE_BLANKING_INHIBIT_SIG "display_blanking_inhibit_ind"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Display Blanking Policy State
*
*@{
*/
/** Get current display blanking policy status
*
* @since mce 1.55.0
*
* @return string: current blanking policy, one of:
* - #MCE_BLANKING_POLICY_DEFAULT_STRING
* - #MCE_BLANKING_POLICY_NOTIFICATION_STRING
* - #MCE_BLANKING_POLICY_ALARM_STRING
* - #MCE_BLANKING_POLICY_CALL_STRING
* - #MCE_BLANKING_POLICY_LINGER_STRING
*/
# define MCE_BLANKING_POLICY_GET "get_display_blanking_policy"
/** Notify everyone when the display blanking policy changes
*
* @since mce 1.55.0
*
* @param policy string: current blanking policy, one of:
* - #MCE_BLANKING_POLICY_DEFAULT_STRING
* - #MCE_BLANKING_POLICY_NOTIFICATION_STRING
* - #MCE_BLANKING_POLICY_ALARM_STRING
* - #MCE_BLANKING_POLICY_CALL_STRING
* - #MCE_BLANKING_POLICY_LINGER_STRING
*/
# define MCE_BLANKING_POLICY_SIG "display_blanking_policy_ind"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Power Save Mode
*
*@{
*/
/** Query the automatic power saving mode
*
* @since mce 1.10.44
*
* @return boolean: TRUE if automatic power saving mode is active, or
* FALSE if automatic power saving mode is inactive
*/
# define MCE_PSM_STATE_GET "get_psm_state"
/** Notify everyone that the state of the automatic power saving mode changed
*
* @since mce 1.10.44
*
* @param active boolean: TRUE if automatic power saving mode is active, or
* FALSE if automatic power saving mode is inactive
*/
# define MCE_PSM_STATE_SIG "psm_state_ind"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Keypad Backlight Status
*
*@{
*/
/** Query key backlight state
*
* @since mce 1.10.30
*
* @return boolean: TRUE if the key backlight is on, or
* FALSE if the key backlight is off
*/
# define MCE_KEY_BACKLIGHT_STATE_GET "get_key_backlight_state"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Device Inactivity
*
*@{
*/
/** Query the inactivity status
*
* @since mce 1.5.2
*
* @return boolean: TRUE if the system is inactive, or
* FALSE if the system is active
*/
# define MCE_INACTIVITY_STATUS_GET "get_inactivity_status"
/** Notify everyone that the system is active/inactive
*
* @since mce 0.9.3
*
* @param active boolean: TRUE if the system is inactive, or
* FALSE if the system is active
*/
# define MCE_INACTIVITY_SIG "system_inactivity_ind"
/** Add an activity notification callback;
*
* @since mce 1.10.106
*
* The next user activity will trigger this callback.
*
* Callbacks are one-shot -- once the callback has been invoked,
* it will be unregistered.
*
* @param service string: The method call service
* @param path string: The method call path
* @param interface string: The method call interface
* @param name string: The name of the method to call
*
* @return boolean: TRUE if registration was successful, or
* FALSE if registration was a failure
* (too many registered clients)
*/
# define MCE_ADD_ACTIVITY_CALLBACK_REQ "add_activity_callback"
/** Remove any activity notification callback belonging to the calling process
*
* @since mce 1.10.106
*/
# define MCE_REMOVE_ACTIVITY_CALLBACK_REQ "remove_activity_callback"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name CPU Keepalive
*
*@{
*/
/** Query the length of time late suspend can be blocked
*
* @since mce 1.12.8
*
* The idea is: if some process needs to do non-interactive
* background processing, it can prevent the system from
* entering late suspend by
*
* 1) get timer period via #MCE_CPU_KEEPALIVE_PERIOD_REQ call
*
* 2) call #MCE_CPU_KEEPALIVE_START_REQ
*
* 3) repeat #MCE_CPU_KEEPALIVE_START_REQ calls in interval
* that is shorter than the maximum obtained at (1)
*
* 4) call #MCE_CPU_KEEPALIVE_STOP_REQ when finished
*
* MCE keeps track of active clients and blocks late suspend
* until all clients have called #MCE_CPU_KEEPALIVE_STOP_REQ,
* lost D-Bus connection (exit, crash, ...) or all timeouts
* have been missed.
*
* @since mce 1.23.7
*
* An unique within process tracking id can be passed to all
* cpu keepalive related D-Bus method calls. This allows mce
* to keep track of multiple, possibly overlapping keepalive
* periods from one process.
*
* Old code that does not pass the tracking id still works
* as long as the client process does not have multiple
* overlapping periods at once.
*
* @param context string: "unique enough" tracking id
*
* @return int32: renew period in seconds
*/
# define MCE_CPU_KEEPALIVE_PERIOD_REQ "req_cpu_keepalive_period"
/** Temporarily disable enter late suspend policy
*
* @since mce 1.12.8
*
* This method call must be repeated periodically to keep
* the system from entering late suspend.
*
* The period length can be obtained via #MCE_CPU_KEEPALIVE_PERIOD_REQ.
*
* @note The boolean reply message is optional and will be sent
* only if requested.
*
* @param context string: "unique enough" tracking id
*
* @return boolean: TRUE on success, or FALSE in case of errors
*/
# define MCE_CPU_KEEPALIVE_START_REQ "req_cpu_keepalive_start"
/** Allow normal enter late suspend policy again
*
* @since mce 1.12.8
*
* If a process blocks late suspend via #MCE_CPU_KEEPALIVE_START_REQ,
* it must call #MCE_CPU_KEEPALIVE_STOP_REQ when background processing
* is finished to enable normal late suspend policy again.
*
* @note The boolean reply message is optional and will be sent
* only if requested.
*
* @param context string: "unique enough" tracking id
*
* @return boolean: TRUE on success, or FALSE in case of errors
*/
# define MCE_CPU_KEEPALIVE_STOP_REQ "req_cpu_keepalive_stop"
/** Signal wakeup from suspend due to aligned timer triggering
*
* @since mce 1.12.8
*
* @note This is reserved for use from dsme iphb module and is
* used for transferring ownership of rtc irq wakeup wakelock
* from dsme to mce.
*
* @note The boolean reply message is optional and will be sent
* only if requested.
*
* @return boolean: TRUE on success, or FALSE in case of errors
*/
# define MCE_CPU_KEEPALIVE_WAKEUP_REQ "req_cpu_keepalive_wakeup"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name MCE Settings
*
*@{
*/
/** Query configuration value
*
* @since mce 1.12.15
*
* @param key string: name of the setting value to query
*
* @return variant: setting value, or error reply in case of errors
*/
# define MCE_CONFIG_GET "get_config"
/** Query all configuration values
*
* @since mce 1.83.0
*
* Get array of (key,value) pairs for all runtime changeable settings
* that mce supports.
*
* array [
* dict entry(
* string SETTING_KEY_NAME
* variant SETTING_KEY_VALUE
* )
* ...
* ]
*
* @return array of dict entries from setting key names and value variants
*/
# define MCE_CONFIG_GET_ALL "get_config_all"
/** Set configuration value
*
* @since mce 1.12.15
*
* @param key string: setting key name
* @param val variant: setting key value
*
* @return boolean: success, or error reply in case of failure
*/
# define MCE_CONFIG_SET "set_config"
/** Reset configuration values to default
*
* All config settings with keyname that matches the given substring
* will be reset to configured defaults e.g. using "/" resets all
* settings while using "/display/" resets only display related values.
*
* @since mce 1.42.0
*
* @param key string: setting key name / initial part of key name
*
* @return int32: number of changed settings, or -1 on failure
*/
# define MCE_CONFIG_RESET "reset_config"
/** Notify everyone that mce configuration value has changed
*
* @since mce 1.14.1
*
* @param key string: setting key name
* @param val variant: setting key value
*/
# define MCE_CONFIG_CHANGE_SIG "config_change_ind"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Battery And Charging State
*
*@{
*/
/** Query current USB cable state
*
* @since mce 1.86.0
*
* @return string: current cable state, one of:
* - #MCE_USB_CABLE_STATE_UNKNOWN
* - #MCE_USB_CABLE_STATE_CONNECTED
* - #MCE_USB_CABLE_STATE_DISCONNECTED
*/
# define MCE_USB_CABLE_STATE_GET "get_usb_cable_state"
/** Signal that indicates that USB cable state has changed
*
* @since mce 1.86.0
*
* @param cable_state string: current cable state, one of:
* - #MCE_USB_CABLE_STATE_UNKNOWN
* - #MCE_USB_CABLE_STATE_CONNECTED
* - #MCE_USB_CABLE_STATE_DISCONNECTED
*/
# define MCE_USB_CABLE_STATE_SIG "usb_cable_state_ind"
/** Query current charger state
*
* @since mce 1.86.0
*
* @return string: current charger state, one of:
* - #MCE_CHARGER_STATE_UNKNOWN
* - #MCE_CHARGER_STATE_ON
* - #MCE_CHARGER_STATE_OFF
*/
# define MCE_CHARGER_STATE_GET "get_charger_state"
/** Signal that indicates that charger state has changed
*
* @since mce 1.86.0
*
* @param charger_state string: current charger state, one of:
* - #MCE_CHARGER_STATE_UNKNOWN
* - #MCE_CHARGER_STATE_ON
* - #MCE_CHARGER_STATE_OFF
*/
# define MCE_CHARGER_STATE_SIG "charger_state_ind"
/** Query current battery status
*
* @since mce 1.86.0
*
* @return string: current battery status, one of:
* - #MCE_BATTERY_STATUS_UNKNOWN
* - #MCE_BATTERY_STATUS_FULL
* - #MCE_BATTERY_STATUS_OK
* - #MCE_BATTERY_STATUS_LOW
* - #MCE_BATTERY_STATUS_EMPTY
*/
# define MCE_BATTERY_STATUS_GET "get_battery_status"
/** Signal that indicates that battery status has changed
*
* @since mce 1.86.0
*
* @param battery_status string: current battery status, one of:
* - #MCE_BATTERY_STATUS_UNKNOWN
* - #MCE_BATTERY_STATUS_FULL
* - #MCE_BATTERY_STATUS_OK
* - #MCE_BATTERY_STATUS_LOW
* - #MCE_BATTERY_STATUS_EMPTY
*/
# define MCE_BATTERY_STATUS_SIG "battery_status_ind"
/** Query current battery level
*
* @since mce 1.86.0
*
* @return int32: battery level percent, or #MCE_BATTERY_LEVEL_UNKNOWN
*/
# define MCE_BATTERY_LEVEL_GET "get_battery_level"
/** Signal that indicates that battery level has changed
*
* @since mce 1.86.0
*
* @param bettery_level int32: battery level percent, or #MCE_BATTERY_LEVEL_UNKNOWN
*/
# define MCE_BATTERY_LEVEL_SIG "battery_level_ind"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name LED Control
*
*@{
*/
/** Activate a pre-defined LED pattern
*
* @since mce 1.5.0
*
* @note Aegis credential for Nokia N9: mce::LEDControl
*
* Available patterns depends on mce configuration.
*
* Non-existing patterns are ignored.
*
* See also: MCE_LED_PATTERN_ACTIVATED_SIG
*
* @param pattern string: led pattern name
*/
# define MCE_ACTIVATE_LED_PATTERN "req_led_pattern_activate"
/** Deactivate a pre-defined LED pattern
*
* @since mce 1.5.0
*
* @note Aegis credential for Nokia N9: mce::LEDControl
*
* Available patterns depends on mce configuration.
*
* Non-existing patterns are ignored
*
* See also: MCE_LED_PATTERN_DEACTIVATED_SIG
*
* @param pattern string: led pattern name
*/
# define MCE_DEACTIVATE_LED_PATTERN "req_led_pattern_deactivate"
/** Notify everyone that a led pattern has been activated
*
* @since mce 1.25.0
*
* @param activated_pattern string: led pattern name
*/
# define MCE_LED_PATTERN_ACTIVATED_SIG "led_pattern_activated_ind"
/** Notify everyone that a led pattern has been deactivated
*
* @since mce 1.25.0
*
* @param deactivated_pattern string: led pattern name
*/
# define MCE_LED_PATTERN_DEACTIVATED_SIG "led_pattern_deactivated_ind"
/** Allow activation of normal led patterns
*
* @since mce 1.5.0
*
* @note Aegis credential for Nokia N9: mce::LEDControl
*
* The current led stack is re-evaluated and also normal
* led patterns are considered when choosing active pattern.
*
* @note Applications should never call this method. It is reserved
* for things like development time debugging and CSD test
* application (which needs to be sure patterns used by it
* do get priority over normal led patterns).
*/
# define MCE_ENABLE_LED "req_led_enable"
/** Deny actiovation of normal led patterns
*
* @since mce 1.5.0
*
* @note Aegis credential for Nokia N9: mce::LEDControl
*
* The current led stack is re-evaluated and normal led patterns
* are ignored when choosing active pattern.
*
* @note Applications should never call this method. It is reserved
* for things like development time debugging and CSD test
* application (which needs to be sure patterns used by it
* do get priority over normal led patterns).
*/
# define MCE_DISABLE_LED "req_led_disable"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Input Event Handling Policy
*
*@{
*/
/** Get current touch screen input policy
*
* @since mce 1.87.0
*
* @return string: current touch input policy state, one of:
* - #MCE_INPUT_POLICY_ENABLED
* - #MCE_INPUT_POLICY_DISABLED
*/
# define MCE_TOUCH_INPUT_POLICY_GET "get_touch_input_policy"
/** Indication for change of touch screen input policy
*
* @since mce 1.87.0
*
* @param input_state string: current touch input input policy state, one of:
* - #MCE_INPUT_POLICY_ENABLED
* - #MCE_INPUT_POLICY_DISABLED
*/
# define MCE_TOUCH_INPUT_POLICY_SIG "touch_input_policy_ind"
/** Get current volume key input policy
*
* @since mce 1.87.0
*
* @return string: current volkey input policy state, one of:
* - #MCE_INPUT_POLICY_ENABLED
* - #MCE_INPUT_POLICY_DISABLED
*/
# define MCE_VOLKEY_INPUT_POLICY_GET "get_keypad_input_policy"
/** Indication for change of volume key input policy
*
* @since mce 1.87.0
*
* @param input_state string: current volkey input input policy state, one of:
* - #MCE_INPUT_POLICY_ENABLED
* - #MCE_INPUT_POLICY_DISABLED
*/
# define MCE_VOLKEY_INPUT_POLICY_SIG "keypad_input_policy_ind"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Button Backlight Policy
*
*@{
*/
/** Get current button backlight state
*
* @since mce 1.90.0
*
* Returns true when button backlight is lit, false otherwise.
*
* @return boolean: TRUE for backlight is on, FALSE for off
*/
# define MCE_BUTTON_BACKLIGHT_GET "get_button_backlight"
/** Request button backlight state change
*
* @since mce 1.90.0
*
* The button backlight is lit when policy permits is, at least one
* D-Bus client has requested it, and the required control file
* configuration has been provided.
*
* @param state boolean: TRUE for backlight on, FALSE for off
*/
# define MCE_BUTTON_BACKLIGHT_CHANGE_REQ "req_button_backlight_change"
/** Request button backlight mode change
*
* @since mce 1.98.0
*
* For use from the CSD application button backlight verification test.
*
* Allows bypassing of the button backlight policy and explicitly turn
* the backlight on or off.
*
* @param mode int32: #MCE_BUTTON_BACKLIGHT_MODE_OFF,
* #MCE_BUTTON_BACKLIGHT_MODE_ON, or
* #MCE_BUTTON_BACKLIGHT_MODE_POLICY
*/
# define MCE_BUTTON_BACKLIGHT_MODE_REQ "req_button_backlight_mode"
/** Indication for change of button backlight state
*
* @since mce 1.90.0
*
* The state is true when button backlight is lit, false otherwise.
*
* @param state boolean: TRUE for backlight in on, FALSE for off
*/
# define MCE_BUTTON_BACKLIGHT_SIG "sig_button_backlight_ind"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Hardware Keyboard Availability
*
*@{
*/
/** Query HW keyboard availability
*
* @since mce 1.39.0
*
* Non-slidable keyboard present, or sliding keyboard present and opened
*
* Used for example in evaluating whether virtual keyboard
* should be used or not.
*
* @return string: availability state, one of:
* - #MCE_HARDWARE_KEYBOARD_UNDEF
* - #MCE_HARDWARE_KEYBOARD_AVAILABLE
* - #MCE_HARDWARE_KEYBOARD_NOT_AVAILABLE
*/
# define MCE_HARDWARE_KEYBOARD_STATE_GET "keyboard_available_state_req"
/** Notify changes in HW keyboard availability
*
* @since mce 1.39.0
*
* Non-slidable keyboard present, or sliding keyboard present and opened
*
* @return string: availability state, one of:
* - #MCE_HARDWARE_KEYBOARD_UNDEF
* - #MCE_HARDWARE_KEYBOARD_AVAILABLE
* - #MCE_HARDWARE_KEYBOARD_NOT_AVAILABLE
*/
# define MCE_HARDWARE_KEYBOARD_STATE_SIG "keyboard_available_state_ind"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Sliding Keyboard State
*
*@{
*/
/** Query current sliding keyboard state
*
* @since mce 1.39.0
*
* @return string: keyboard state, one of:
* - #MCE_SLIDING_KEYBOARD_OPEN
* - #MCE_SLIDING_KEYBOARD_CLOSED
* - #MCE_SLIDING_KEYBOARD_UNDEF
*/
# define MCE_SLIDING_KEYBOARD_STATE_GET "keyboard_slide_state_req"
/** Notify sliding keyboard state changes
*
* @since mce 1.39.0
*
* @param state string: keyboard state, one of:
* - #MCE_SLIDING_KEYBOARD_OPEN
* - #MCE_SLIDING_KEYBOARD_CLOSED
* - #MCE_SLIDING_KEYBOARD_UNDEF
*/
# define MCE_SLIDING_KEYBOARD_STATE_SIG "keyboard_slide_state_ind"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Interaction Between MCE And UI Components
*
*@{
*/
/** Signal for controlling compositor side display dimming
*
* @since mce 1.34.0
*
* In situations where there is not enough dynamic range available
* to make the difference between "on" and "dimmed" display states
* clear to user, mce sends this signal to instruct compositor to
* complement the display backlight brightness based dimming by
* blending the whole visible ui with an all black rectangle.
*
* The amount of requested dimming depends on hw specific
* configuration and backlight brightness level in use.
*
* The requested fade animation duration is derived from what
* mce would use for backlight brightness fade anination and
* depends on mce side configuration.
*
* It is expected that compositor can and will cap both the
* amount of dimming and transition length to some span that
* makes sense from compositor point of view.
*
* @param dimming int32: dimming percent
* - 0 for normal, undimmed ui
* - ...
* - 100 completely blacked out ui
* @param duration int32: fade animation duration [ms]
*/
# define MCE_FADER_OPACITY_SIG "fader_opacity_ind"
/** Signal for notifying alarm ui about power key presses / device flip overs
*
* @since mce 1.26.0
*
* Used for silencing alarm via power key press / device flip over.
*
* @param event string: event name, such as:
* - #MCE_FEEDBACK_EVENT_POWERKEY
* - #MCE_FEEDBACK_EVENT_FLIPOVER
*/
# define MCE_ALARM_UI_FEEDBACK_SIG "alarm_ui_feedback_ind"
/** Signal for notifying call ui about power key presses / device flip overs
*
* @since mce 1.26.0
*
* Used for silencing incoming call via power key press / device flip over
*
* @param event string: event name, such as:
* - #MCE_FEEDBACK_EVENT_POWERKEY
* - #MCE_FEEDBACK_EVENT_FLIPOVER
*/
# define MCE_CALL_UI_FEEDBACK_SIG "call_ui_feedback_ind"
/** Inform mce that incoming call has been ignored by ui
*
* @since mce 1.19.0
*
* When there is an incoming call, mce reserves the power key
* for alarm ui and silencing the ringing tone.
*
* This method can be used by the call ui to inform mce that the
* call has been ignored and power key can again be used for display
* power control even though there still are calls in ringing state.
*/
# define MCE_IGNORE_INCOMING_CALL_REQ "req_ignore_incoming_call"
/** Signal for notifying systemui about power button etc related events
*
* @since mce 1.37.0
*
* @param event string: partly configurable and varies, but includes:
* - #MCE_FEEDBACK_EVENT_HOMEKEY wake up to fingerprint detection,
* or toggle between home and app view
* - #MCE_FEEDBACK_EVENT_UNLOCK switch ui to device unlock view
*/
# define MCE_POWER_BUTTON_TRIGGER "power_button_trigger"
/** Method for sending tklock feedback from systemui to mce
*
* @since mce 1.10.88 (legacy)
*
* @deprecated Must not be used in application code and should be removed
* altogether both from mce and lipstick.
*
* @param status int32: tklock feedback, one of:
* - #TKLOCK_UNLOCK
* - #TKLOCK_RETRY
* - #TKLOCK_TIMEOUT
* - #TKLOCK_CLOSED
*/
# define MCE_TKLOCK_CB_REQ "tklock_callback"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Display Low Power Mode
*
*@{
*/
/** Request transition to lpm-off display state
*
* @since mce 1.82.3
*
* @note This method is not available in normal mce builds and
* it is meant strictly for debugging transitions to/from
* lpm display states only.
*/
# define MCE_DISPLAY_STATE_LPM_OFF_REQ "req_display_state_lpm_off"
/** Request transition to lpm-on display state
*
* @since mce 1.82.3
*
* @note This method is not available in normal mce builds and
* it is meant strictly for debugging transitions to/from
* lpm display states only.
*/
# define MCE_DISPLAY_STATE_LPM_ON_REQ "req_display_state_lpm_on"
/** Used for triggering UI transitions to/from LPM view
*
* @since mce 1.30.0
*
* The "Display Low Power Mode" is substate applicable when display
* is logically in off state and lockscreen is active.
*
* The intent is that display gets powered up and lockscreen ui
* with less decorations and suitable for low brightness display
* is shown.
*
* Normal applications should not have any reason to follow these
* signals.
*
* @param state string, one of:
* - #MCE_LPM_UI_ENABLED
* - #MCE_LPM_UI_DISABLED
*/
# define MCE_LPM_UI_MODE_SIG "lpm_ui_mode_ind"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name System Memory Pressure
*
*@{
*/
/** Method for querying current system memory pressure level
*
* @since mce 1.35.0
*
* @return level string, one of:
* - #MCE_MEMORY_LEVEL_UNKNOWN
* - #MCE_MEMORY_LEVEL_NORMAL
* - #MCE_MEMORY_LEVEL_WARNING
* - #MCE_MEMORY_LEVEL_CRITICAL
*/
# define MCE_MEMORY_LEVEL_GET "get_memory_level"
/** Signal for notifying system memory pressure level changes
*
* @since mce 1.35.0
*
* @param level string, one of:
* - #MCE_MEMORY_LEVEL_UNKNOWN
* - #MCE_MEMORY_LEVEL_NORMAL
* - #MCE_MEMORY_LEVEL_WARNING
* - #MCE_MEMORY_LEVEL_CRITICAL
*/
# define MCE_MEMORY_LEVEL_SIG "sig_memory_level_ind"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Time Limited Display Wakeups
*
*@{
*/
/** Method for declaring start of exceptional display on state
*
* @since mce 1.29.0
*
* @param name string: unique-enough identifier
* @param duration int32: notification duration [ms]
* @param extend int32: extend due to user activity time [ms]
*/
# define MCE_NOTIFICATION_BEGIN_REQ "notification_begin_req"
/** Method for declaring end of exceptional display on state
*
* @since mce 1.29.0
*
* @param name string: unique-enough identifier
* @param linger int32: remain in display on time [ms]
*/
# define MCE_NOTIFICATION_END_REQ "notification_end_req"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Content Adaptive Backlight Control Mode
*
*@{
*/
/** Query CABC mode
*
* @since mce 1.10.0
*
* @return string: current cabc mode, one of:
* - #MCE_CABC_MODE_OFF
* - #MCE_CABC_MODE_UI
* - #MCE_CABC_MODE_STILL_IMAGE
* - #MCE_CABC_MODE_MOVING_IMAGE
*/
# define MCE_CABC_MODE_GET "get_cabc_mode"
/** Request CABC mode change
*
* @since mce 1.10.0
*
* @note Content Adaptive Backlight Control has been supported only in
* maemo/meego phones made by Nokia.
*
* A non-functional skeleton interface is available unless suitable
* hw and driver support exists along with relevant configuration.
*
* @param mode string: requested cabc mode, one of:
* - #MCE_CABC_MODE_OFF
* - #MCE_CABC_MODE_UI
* - #MCE_CABC_MODE_STILL_IMAGE
* - #MCE_CABC_MODE_MOVING_IMAGE
*
* @return string: updated cabc mode, one of:
* - #MCE_CABC_MODE_OFF
* - #MCE_CABC_MODE_UI
* - #MCE_CABC_MODE_STILL_IMAGE
* - #MCE_CABC_MODE_MOVING_IMAGE
*/
# define MCE_CABC_MODE_REQ "req_cabc_mode"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Color Profile
*
*@{
*/
/** Query the current color profile id
*
* @since mce 1.11.2
*
* @return string: the current profile id
*/
# define MCE_COLOR_PROFILE_GET "get_color_profile"
/** Query the list of the available color profile ids
*
* @since mce 1.11.2
*
* Apart from built-in "hardcoded" the available color profiles
* depends on mce configuration.
*
* @return array of strings: supported color profile ids
*/
# define MCE_COLOR_PROFILE_IDS_GET "get_color_profile_ids"
/** Request color profile change
*
* @since mce 1.11.2
*
* @note Currently the color profiles are not supported and a skeleton
* API is available solely for backwards compatibility.
*
* @note Aegis credential for Nokia N9: mce::ColorProfileControl
*
* @param mode string: requested color profile id
*/
# define MCE_COLOR_PROFILE_CHANGE_REQ "req_color_profile_change"
/** Notify everyone that the color profile has changed
*
* @since mce 1.11.2
*
* @note Color profiles have been supported only in maemo/meego phones
* made by Nokia.
*
* @deprecated Only a skeleton functionality is provided for backwards
* compatibility.
*
* @param mode string: current color profile id
*/
# define MCE_COLOR_PROFILE_SIG "color_profile_ind"
/*@}*/
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/** @name Miscellaneous
*
*@{
*/
/** Query MCE version
*
* @since mce 1.1.6
*
* @return string: MCE version
*/
# define MCE_VERSION_GET "get_version"
/** Request powerkey event triggering
*
* @since mce 1.5.3 (implemented)
* @since mce 1.10.54 (argument changed from boolean to uint32)
*
* @note Aegis credential for Nokia N9: mce::DeviceModeControl
*
* @note Intended for use from automated qa testing only.
*
* @param type uint32: power key event to trigger, one of:
* - #MCE_POWERKEY_EVENT_SHORT_PRESS
* - #MCE_POWERKEY_EVENT_LONG_PRESS
* - #MCE_POWERKEY_EVENT_DOUBLE_PRESS
*/
# define MCE_TRIGGER_POWERKEY_EVENT_REQ "req_trigger_powerkey_event"
/** Get amount of time spent in each display state
*
* @since mce 1.74.0
*
* Used for: Debugging power drain issues, QA reporting, etc.
*
* After MCE process starts up, it keeps track of the number of times
* various display states have been entered and total time spent in
* each state. Time before mce startup gets accounted to "undefined"
* display state.
*
* The data returned is - in dbus terms - array of dictionary entries
* having display state name as a key and total time and entry count
* as value.
*
* array [
* dict entry(
* string DISPLAY_STATE_NAME
* struct {
* int64 MS_SPENT_IN_THE_STATE
* int64 ENTRY_COUNT_TO_THE_STATE
* }
* )
* ...
* ]
*
* @return array of entries as described above
*/
# define MCE_DISPLAY_STATS_GET "get_display_stats"
/** Query current uptime and time spent in suspend
*
* @since mce 1.65.0
*
* Used for: Automated suspend testing, QA reporting, etc.
*
* Basically:
* - uptime is taken from CLOCK_BOOTTIME
* - suspend time is taken from CLOCK_MONOTONIC - CLOCK_BOOTTIME
*
* @return int64: uptime_ms
* @return int64: suspend_ms
*/
# define MCE_SUSPEND_STATS_GET "get_suspend_stats"
/** Query current logging verbosity
*
* @since mce 1.71.0
*
* @return int32: syslog compatible verbosity level:
* - 0 == LOG_EMERG
* - ...
* - 7 == LOG_DEBUG
*/
# define MCE_VERBOSITY_GET "get_verbosity"
/** Change current logging verbosity
*
* @since mce 1.71.0
*
* @param verbosity int32: syslog compatible verbosity level:
* - 0 == LOG_EMERG
* - ...
* - 7 == LOG_DEBUG
*/
# define MCE_VERBOSITY_REQ "set_verbosity"
/*@}*/
#endif /* MCE_DBUS_NAMES_H_ */