Warning, /plasma/powerdevil/daemon/actions/bundled/net.hadess.PowerProfiles.xml is written in an unsupported language. File is not indexed.

0001 <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
0002 "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
0003 
0004 <node>
0005 
0006   <!--
0007       net.hadess.PowerProfiles:
0008       @short_description: Power Profiles daemon
0009 
0010       The power-profiles-daemon API is meant to be used by parts of the OS or
0011       desktop environment to switch system power profiles based on user choice,
0012       or user intent.
0013 
0014       OS components would typically use the "Profiles" property to construct
0015       their UI (2 or 3 profiles available), and monitor the "ActiveProfile"
0016       and the "PerformanceDegraded" properties to update that UI. The UI
0017       would try to set the "ActiveProfile" property if the user selected
0018       a different one.
0019 
0020       Note that the reason why the project exists and how it is different from
0021       existing projects is explained <ulink href=" https://gitlab.freedesktop.org/hadess/power-profiles-daemon/-/blob/master/README.md">
0022       in the project's README file</ulink>.
0023 
0024       The object path will be "/net/hadess/PowerProfiles".
0025   -->
0026   <interface name="net.hadess.PowerProfiles">
0027 
0028     <!--
0029         HoldProfile:
0030 
0031         This forces the passed profile (either 'power-saver' or 'performance')
0032         to be activated until either the caller quits, "ReleaseProfile" is
0033         called, or the "ActiveProfile" is changed by the user.
0034 
0035         This should be used programmatically by OS components when, eg. high-
0036         performance workloads are started with the "performance" profile, or
0037         battery will soon be critically low with the "power-saver" profile.
0038 
0039         When conflicting profiles are requested to be held, the 'power-saver' profile
0040         will be activated in preference to the 'performance' profile.
0041 
0042         Those holds will be automatically cancelled if the user manually switches
0043         to another profile, and the "ProfileReleased" signal will be emitted.
0044     -->
0045     <method name="HoldProfile">
0046       <arg name="profile" type="s" direction="in"/>
0047       <arg name="reason" type="s" direction="in"/>
0048       <arg name="application_id" type="s" direction="in" />
0049       <arg name="cookie" type="u" direction="out"/>
0050     </method>
0051 
0052     <!--
0053         ReleaseProfile:
0054 
0055         This removes the hold that was set on a profile.
0056     -->
0057     <method name="ReleaseProfile">
0058       <arg name="cookie" type="u" direction="in"/>
0059     </method>
0060 
0061     <!--
0062         ProfileReleased:
0063 
0064         This signal will be emitted if the profile is released because the
0065         "ActiveProfile" was manually changed. The signal will only be emitted
0066         to the process that originally called "HoldProfile".
0067     -->
0068     <signal name="ProfileReleased">
0069       <arg name="cookie" type="u" direction="out"/>
0070     </signal>
0071 
0072     <!--
0073         ActiveProfile:
0074 
0075         The type of the currently active profile. It might change automatically
0076         if a profile is held, using the "HoldProfile" function.
0077     -->
0078     <property name="ActiveProfile" type="s" access="readwrite"/>
0079 
0080     <!--
0081         PerformanceInhibited:
0082 
0083         This property is deprecated, and unused since version 0.9.
0084     -->
0085     <property name="PerformanceInhibited" type="s" access="read"/>
0086 
0087     <!--
0088         PerformanceDegraded:
0089 
0090         This will be set if the performance power profile is running in degraded
0091         mode, with the value being used to identify the reason for that degradation.
0092         As new reasons can be added, it is recommended that front-ends show a generic
0093         reason if they do not recognise the value. Possible values are:
0094         - "lap-detected" (the computer is sitting on the user's lap)
0095         - "high-operating-temperature" (the computer is close to overheating)
0096         - "" (the empty string, if not performance is not degraded)
0097     -->
0098     <property name="PerformanceDegraded" type="s" access="read"/>
0099 
0100     <!--
0101         Profiles:
0102 
0103         An array of key-pair values representing each profile. The key named
0104         "Driver" (s) identifies the power-profiles-daemon backend code used to
0105         implement the profile.
0106 
0107         The key named "Profile" (s) will be one of:
0108         - "power-saver" (battery saving profile)
0109         - "balanced" (the default  profile)
0110         - "performance" (a profile that does not care about noise or battery consumption)
0111 
0112         Only one of each type of profile will be listed, with the daemon choosing the
0113         more appropriate "driver" for each profile type.
0114 
0115         This list is guaranteed to be sorted in the same order that the profiles
0116         are listed above.
0117     -->
0118     <property name="Profiles" type="aa{sv}" access="read">
0119         <annotation name="org.qtproject.QtDBus.QtTypeName" value="QList&lt;QVariantMap&gt;"/>
0120     </property>
0121 
0122     <!--
0123         Actions:
0124 
0125         An array of strings listing each one of the "actions" implemented in
0126         the running daemon. This is used by API users to figure out whether
0127         particular functionality is available in a version of the daemon.
0128     -->
0129     <property name="Actions" type="as" access="read"/>
0130 
0131     <!--
0132       ActiveProfileHolds:
0133 
0134       A list of dictionaries representing the current profile holds.
0135       The keys in the dict are "ApplicationId", "Profile" and "Reason",
0136       and correspond to the "application_id", "profile" and "reason" arguments
0137       passed to the HoldProfile() method.
0138     -->
0139     <property name="ActiveProfileHolds" type="aa{sv}" access="read">
0140         <annotation name="org.qtproject.QtDBus.QtTypeName" value="QList&lt;QVariantMap&gt;"/>
0141     </property>
0142 
0143   </interface>
0144 </node>