Skip to content

Commit a41448c

Browse files
NotAShelfRGBCube
authored andcommitted
config: add is-platform-profile-avavilable expression
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I6a6a69646e15653f6eb9bfabf29e6ea5be0e484d
1 parent 40cf0c8 commit a41448c

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

watt/config.rs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,10 @@ pub enum Expression {
368368
#[serde(rename = "is-energy-performance-bias-available")]
369369
value: Box<Expression>,
370370
},
371+
IsPlatformProfileAvailable {
372+
#[serde(rename = "is-platform-profile-available")]
373+
value: Box<Expression>,
374+
},
371375

372376
#[serde(with = "expression::energy_performance_preference_available")]
373377
EnergyPerformancePreferenceAvailable,
@@ -623,6 +627,20 @@ impl Expression {
623627

624628
Boolean(available)
625629
},
630+
IsPlatformProfileAvailable { value } => {
631+
let value = eval!(value);
632+
let value = value.try_into_string()?;
633+
634+
let available =
635+
power_supply::PowerSupply::get_available_platform_profiles()
636+
.context(
637+
"failed to get available platform profiles for \
638+
`is-platform-profile-available`",
639+
)?
640+
.contains(value);
641+
642+
Boolean(available)
643+
},
626644
EnergyPerformancePreferenceAvailable => {
627645
Boolean(state.energy_performance_preference_available)
628646
},

0 commit comments

Comments
 (0)