| 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