Top |
gchar * | driver-name | Read / Write / Construct Only |
gchar * | performance-inhibited | Read / Write |
PpdProfile | profiles | Read / Write / Construct Only |
Profile drivers are the implementation of the different profiles for
the whole system. A driver will implement support for one or more
profiles, usually one or both of the performance
and power-saver
profiles, for a particular system. Only one driver will be selected and
running per profile.
If no system-specific driver is available, some placeholder balanced
and power-saver
drivers will be put in place, and the performance
profile will be unavailable.
Common implementation of drivers might be:
a driver handling all three profiles, relying on a firmware feature exposed in the kernel,
a driver that only implements the performance
profile on a particular
system it has intimate knowledge of, leaving the balanced
and
power-saver
profiles using placeholder
When a driver implements the performance
profile, it might set the
“performance-inhibited” property if the profile isn't available for any
reason, such as thermal limits being reached, or because a part of the
user's body is too close for safety, for example.
struct PpdDriverClass { GObjectClass parent_class; gboolean (* probe) (PpdDriver *driver); gboolean (* activate_profile) (PpdDriver *driver, PpdProfile profile, GError **error); };
New profile drivers should derive from PpdDriver and implement
at least one of probe()
and activate_profile
.
“driver-name”
property“driver-name” gchar *
Profile driver name.
Owner: PpdDriver
Flags: Read / Write / Construct Only
Default value: NULL
“performance-inhibited”
property“performance-inhibited” gchar *
If set to a non-NULL
value, the reason why the performance profile is unavailable.
The value must be one of the options listed in the D-Bus API reference.
Owner: PpdDriver
Flags: Read / Write
Default value: NULL
“profiles”
property“profiles” PpdProfile
Profiles implemented by this driver.
Owner: PpdDriver
Flags: Read / Write / Construct Only