1. 07 Oct, 2019 1 commit
  2. 28 Aug, 2019 1 commit
    • spiiroin's avatar
      [battery-udev] Make charger type available on D-Bus. JB#38667 · a80fd7ea
      spiiroin authored
      Battery notifier in lipstick needs charger type information.
      
      Add charger type evaluation to udev power supply device tracker and
      broadcast changes internally within mce via a datapipe.
      
      Reflect datapipe changes as D-Bus signals, and add D-Bus methods for
      querying the current state.
      
      For development builds enable charger type simulation and appropriate
      mcetool options for controlling it.
      
      The required D-Bus constants are available in mce-dev >= 1.27.0.
      Signed-off-by: spiiroin's avatarSimo Piiroinen <simo.piiroinen@jollamobile.com>
      a80fd7ea
  3. 27 Mar, 2019 1 commit
  4. 14 Dec, 2018 1 commit
    • spiiroin's avatar
      [battery-udev] Add battery debugging D-Bus methods. Fixes JB#44072 · 3142c92a
      spiiroin authored
      Waiting for battery to get completely full / empty takes time and makes it
      difficult to verify that actions that ought to happen under certain
      conditions actually get triggered.
      
      Implement D-Bus methods that temporarily allow overriding charging/battery
      information mce has derived from udev.
      
      Add options to mcetool for using the override method calls:
          --set-charger-state=<unknown|on|off>
          --set-battery-level=<percent>
      
      As faked charger connection can block/delay battery empty shutdown and lead
      to battery getting too depleted, the battery simulation functionality is
      made available only in devel flavor mce build and even then only to
      privileged clients.
      Signed-off-by: spiiroin's avatarSimo Piiroinen <simo.piiroinen@jollamobile.com>
      3142c92a
  5. 20 Nov, 2018 1 commit
  6. 16 Mar, 2018 1 commit
  7. 18 Nov, 2017 1 commit
  8. 12 Oct, 2017 1 commit
  9. 06 Apr, 2017 1 commit
    • spiiroin's avatar
      [event-input] Expose touch and volume key policy on D-Bus. JB#38001 · c3c42ee0
      spiiroin authored
      Originally the mechanism used for stopping touch screen and volume key
      events from reaching ui layers was to disable the hw generating them.
      As this is not always possible, mce was modified so that it grabs evdev
      input device nodes instead. That too is problematic in devices that use
      multitouch protocol B and/or emit volume key events from input devices
      that can't be grabbed for some reason (such as providing also power key).
      
      As an enabler for UI side event filtering, expose the mce side input
      policy decisions on dbus. When the relevant UI components listen to
      these signals and handle/ignore input events accordingly, there is no
      need for mce to grab any input device nodes anymore.
      
      Also change the activation/deactivation of the opt-in debug led pattern
      PatternTouchInputBlocked to be based on the policy decision rather than
      grabbing/ungrabbing of touch input device nodes.
      Signed-off-by: spiiroin's avatarSimo Piiroinen <simo.piiroinen@jollamobile.com>
      c3c42ee0
  10. 24 Jan, 2017 1 commit
  11. 10 Nov, 2016 1 commit
    • spiiroin's avatar
      [dbus] Add method call for getting all mce settings. JB#34813 · d48ca6a7
      spiiroin authored
      If client needs to track multiple mce settings, getting the initial
      values one by one via blocking dbus calls is slow and cumbersome/difficult
      asynchronously (the number of available settings exceeds the default
      maximum number of pending dbus calls allowed by system bus configuration).
      
      Add com.nokia.mce.request.get_config_all() method call that can be used
      to get current values of all mce settings at once.
      
      Related constants are made available in mce-headers > 1.20.0.
      d48ca6a7
  12. 12 Apr, 2016 2 commits
    • spiiroin's avatar
      [powerkey] Add D-Bus method for ignoring incoming calls. JB#20728 · e7680032
      spiiroin authored
      While there are incoming calls, mce reserves power key for ignoring
      the ringing tone. Since there is no way to detect when call ui actually
      ignores the call, the power key stays reserved for call ignoring until
      call is either answered or terminated.
      
      Add D-Bus method that call ui can use to signal mce that current incoming
      call has been ignored. Then mce can use power key again for display power
      control.
      e7680032
    • spiiroin's avatar
      [dbus] Fix mce D-Bus method call config. JB#20728 · 57f6e1bd
      spiiroin authored
      Most of mce D-Bus method calls are supposed to be callable by non-root
      client processes too.
      
      Add missing D-Bus config entries.
      57f6e1bd
  13. 04 Nov, 2015 1 commit
  14. 03 Nov, 2015 2 commits
  15. 24 Jun, 2015 1 commit
    • spiiroin's avatar
      Add org.nemomobile.compositor D-Bus config · 5e24a057
      spiiroin authored
      The compositor D-Bus service is needed for handling state synchronization
      between mce and ui during display power up / down. It can in theory be
      implemented by any user process, but the D-Bus configuration is provided
      from jolla specific jolla-actdead-charging package.
      
      Include the compositor D-Bus in to mce package so that it can be removed
      from jolla-actdead-charging package.
      
      [mce] Add org.nemomobile.compositor D-Bus config. Contributes to JB#29194
      5e24a057
  16. 21 May, 2015 1 commit
  17. 23 Dec, 2014 2 commits
    • spiiroin's avatar
      Signal hw keyboard availability state over D-Bus System Bus · 19e6c046
      spiiroin authored
      Classify evdev nodes that send KEY_Q and KEY_P events as keyboards
      or slide-in keypads depending on whether they also emit SW_KEYPAD_SLIDE
      switch state events.
      
      Maintain a hw-keyboard-is-available state - which is true as long as
      there exists at least one keyboard device or slide-in keypad in open
      position.
      
      When availability state changes, a keypad_available_state_ind signal
      is broadcast over D-Bus System Bus.
      
      <node name="/com/nokia/mce/signal">
        <interface name="com.nokia.mce.signal">
          <signal name="keypad_available_state_ind">
            <arg name="keypad_state" type="s"/>
          </signal>
        </interface>
      </node>
      
      Current state can be queried from mce with keypad_available_state_req
      D-Bus method call.
      
      <node name="/com/nokia/mce/request">
        <interface name="com.nokia.mce.request">
          <method name="keypad_available_state_req">
            <arg direction="out" name="keypad_state" type="s"/>
          </method>
        </interface>
      </node>
      
      [mce] Signal hw keyboard availability state over D-Bus System Bus. Fixes JB#25232
      19e6c046
    • spiiroin's avatar
      Signal slide in keypad state over D-Bus System Bus · 31356524
      spiiroin authored
      When slide in keypad is opened/closed, a keypad_slide_state_ind signal
      is broadcast over D-Bus System Bus.
      
      <node name="/com/nokia/mce/signal">
        <interface name="com.nokia.mce.signal">
          <signal name="keypad_slide_state_ind">
            <arg name="keypad_state" type="s"/>
          </signal>
        </interface>
      </node>
      
      Current state can be queried from mce with keypad_slide_state_req D-Bus
      method call.
      
      <node name="/com/nokia/mce/request">
        <interface name="com.nokia.mce.request">
          <method name="keypad_slide_state_req">
            <arg direction="out" name="keypad_state" type="s"/>
          </method>
        </interface>
      </node>
      
      [mce] Signal slide in keypad state over D-Bus System Bus
      31356524
  18. 19 Dec, 2014 1 commit
    • spiiroin's avatar
      Allow user processes to query current memory level over D-Bus · 298141c8
      spiiroin authored
      The get_memory_level method call was missing from mce dbus configuration
      file and thus non-root processes could not query the current state.
      
      Add dbus config entry for the get_memory_level method call and allow
      non-root processes to make the query.
      
      [mce] Allow user processes to query current memory level over D-Bus. Fixes JB#24382
      298141c8
  19. 18 Aug, 2014 1 commit
    • spiiroin's avatar
      Make MCE introspectable over D-Bus · 4139106d
      spiiroin authored
      Previously mce did not support org.freedesktop.DBus.Introspectable
      D-Bus interface which required use of workarounds for making method
      calls or listening to signals from qt and qml applications.
      
      Augment mce dbus handler structures to hold XML introspection data too.
      
      Allow registering of dummy signal handlers for the purposes of holding
      introspection data for outbound signals.
      
      Unify all dbus handler registration to happen via array-of-handers
      functionality and provide introspection data for all method calls
      supported by mce and (non-configurable) signals sent by mce.
      
      Do diagnostic logging if mce still sends non-introspectable signals.
      
      Implement org.freedesktop.DBus.Introspectable D-Bus interface for mce.
      
      Allow use of org.freedesktop.DBus.Peer D-Bus interface with mce.
      
      [mce] Make MCE introspectable over D-Bus. Fixes JB#21034
      4139106d
  20. 23 Apr, 2014 1 commit
  21. 01 Mar, 2013 1 commit
    • spiiroin's avatar
      Implement cpu-keepalive plugin for mce · 1a4f929e
      spiiroin authored
      The cpu-keepalive plugin implementes dbus interface defined in
      mce-headers >= 1.12.3.
      
      Applications can query keepalive renew period via:
        MCE_CPU_KEEPALIVE_PERIOD_REQ
      
      And then block suspend via:
        MCE_CPU_KEEPALIVE_START_REQ x N
        MCE_CPU_KEEPALIVE_STOP_REQ
      
      The iphb plugin in dsme can signal wakeups via:
        MCE_CPU_KEEPALIVE_WAKEUP_REQ
      
      While there are clients with active keepalive periods, mce will block
      the device from entering late suspend.
      
      If client with active keepalive perdiod drops from system bus, it will
      be handled as if MCE_CPU_KEEPALIVE_STOP_REQ were made.
      
      If mce is compiled without wakelock support, longer renew period is
      reported by MCE_CPU_KEEPALIVE_PERIOD_REQ.
      
      After receiving MCE_CPU_KEEPALIVE_WAKEUP_REQ from dsme, mce blocks
      late suspend for a short while to allow clients using libiphb timers
      to register keepalive periods.
      1a4f929e
  22. 14 Feb, 2013 2 commits
  23. 16 Dec, 2010 1 commit