<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
  <interface name="org.kde.kwin.ColorCorrect">
    <method name="nightColorInfo">
      <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QHash&lt;QString,QVariant&gt;"/>
      <arg type="a{sv}" direction="out"/>
    </method>
    <method name="setNightColorConfig">
      <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QHash&lt;QString,QVariant&gt;"/>
      <arg type="a{sv}" direction="in"/>
      <arg type="b" direction="out"/>
    </method>
    <method name="nightColorAutoLocationUpdate">
      <arg type="d" direction="in"/>
      <arg type="d" direction="in"/>
    </method>
    <signal name="nightColorConfigChanged">
        <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QHash&lt;QString,QVariant&gt;"/>
        <arg type="a{sv}" direction="out"/>
    </signal>

    <!--
        Creates an inhibition lock for Night Color.

        You can use this method to temporarily disable Night Color feature.
        After calling this method, the screen color temperature will be set
        back to the neutral temperature (6500K).

        This method returns a cookie that uniquely identifies the inhibition
        request. You must pass the cookie to uninhibit() when you're done.

        Note that the inhibition lock will be released automatically when
        the service, which requested it, is unregistered.

        A client is allowed to hold more than just one inhibition lock.
    -->
    <method name="inhibit">
        <arg name="cookie" type="u" direction="out"/>
    </method>

    <!--
        Releases an inhibition lock identified by the given cookie.

        Note that the inhibition lock will be released automatically when
        the service, which requested it, is unregistered.
    -->
    <method name="uninhibit">
        <arg name="cookie" type="u" direction="in"/>
    </method>

    <!--
        This property holds a value to indicate whether Night Color is inhibited.
    -->
    <property name="inhibited" type="b" access="read"/>

    <!--
        This property holds a value to indicate whether Night Color is enabled.
    -->
    <property name="enabled" type="b" access="read"/>

    <!--
        This property holds a value to indicate whether Night Color is running.
    -->
    <property name="running" type="b" access="read"/>

    <!--
        This property holds a value to indicate whether Night Color is available.
    -->
    <property name="available" type="b" access="read"/>

    <!--
        This property holds a value to indicate the current screen color temperature.
    -->
    <property name="currentTemperature" type="u" access="read"/>

    <!--
        This property holds a value to indicate the target screen color temperature.
    -->
    <property name="targetTemperature" type="u" access="read"/>

    <!--
        This property holds a value to indicate the operating mode.

        Valid modes: 0 - automatic, 1 - location, 2 - timings, 3 - constant.
    -->
    <property name="mode" type="u" access="read"/>

    <!--
        This property holds a Unix timestamp that specifies when the previous color
        temperature transition had started. Note that when Night Color operates in
        the constant mode, this property holds a value of 0.
    -->
    <property name="previousTransitionDateTime" type="t" access="read"/>

    <!--
        This property holds a value that specifies the duration of the previous color
        temperature transition, in milliseconds. Note that when Night Color operates
        in the constant mode, this property holds a value of 0.
    -->
    <property name="previousTransitionDuration" type="u" access="read"/>

    <!--
        This property holds a Unix timestamp that specifies when the next scheduled
        color temperature transition will start. Note that when Night Color operates
        in the constant mode, this property holds a value of 0.
    -->
    <property name="scheduledTransitionDateTime" type="t" access="read"/>

    <!--
        This property holds a value that specifies the duration of next scheduled
        color transition, in milliseconds. Note that when Night Color operates in
        the constant mode, this property holds a value of 0.
    -->
    <property name="scheduledTransitionDuration" type="u" access="read"/>
  </interface>
</node>
