File tree Expand file tree Collapse file tree 1 file changed +18
-0
lines changed
Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Original file line number Diff line number Diff 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 } ,
You can’t perform that action at this time.
0 commit comments