From 10f7ea98e72024e5f5d50e377c9a09a5ca40ee8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Linus=20F=C3=A4rnstrand?= Date: Fri, 12 Apr 2024 17:05:40 +0200 Subject: [PATCH 1/5] Mark `ServiceControl` non_exhaustive --- src/service.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/service.rs b/src/service.rs index 360cb03..19c73a8 100644 --- a/src/service.rs +++ b/src/service.rs @@ -1081,6 +1081,7 @@ impl UserEventCode { /// Enum describing the service control operations. #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] +#[non_exhaustive] pub enum ServiceControl { Continue, Interrogate, From 2e78f43603161ce68613a13c88c27ec393c35577 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Linus=20F=C3=A4rnstrand?= Date: Fri, 12 Apr 2024 17:06:36 +0200 Subject: [PATCH 2/5] Mark `PowerBroadcastSetting` as non_exhaustive --- src/service.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/service.rs b/src/service.rs index 19c73a8..d6ffa7f 100644 --- a/src/service.rs +++ b/src/service.rs @@ -809,6 +809,7 @@ impl LidSwitchStateChange { /// Please refer to MSDN for more info about the data members: /// #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] +#[non_exhaustive] pub enum PowerBroadcastSetting { AcdcPowerSource(PowerSource), BatteryPercentageRemaining(u32), From da5d253d7535c8f0d7ed784c33097e1801443a1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Linus=20F=C3=A4rnstrand?= Date: Fri, 12 Apr 2024 17:07:25 +0200 Subject: [PATCH 3/5] Make main Error enum non_exhaustive --- src/lib.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib.rs b/src/lib.rs index d495253..058e701 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -179,6 +179,7 @@ pub type Result = std::result::Result; #[derive(Debug)] +#[non_exhaustive] pub enum Error { /// Kernel drivers do not support launch arguments LaunchArgumentsNotSupported, From 687499e69ca4ccb3da3ba6534dc6be8a3aa1d02b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Linus=20F=C3=A4rnstrand?= Date: Fri, 12 Apr 2024 17:09:11 +0200 Subject: [PATCH 4/5] Mark `PowerEventParam` non_exhaustive --- src/service.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/service.rs b/src/service.rs index d6ffa7f..ab9eb79 100644 --- a/src/service.rs +++ b/src/service.rs @@ -899,6 +899,7 @@ impl PowerBroadcastSetting { /// Enum describing the PowerEvent event #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] +#[non_exhaustive] pub enum PowerEventParam { PowerStatusChange, ResumeAutomatic, From f215e4a1d031463819e5da86667b56b9c8682f92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Linus=20F=C3=A4rnstrand?= Date: Fri, 12 Apr 2024 17:15:19 +0200 Subject: [PATCH 5/5] Add to changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f25e1e1..90c1171 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. (See: `LidSwitchStateChange`) - Add function for obtaining service SID infos. (See: `Service::get_config_service_sid_info`). +### Changed +- Breaking: Make a bunch of enums `#[non_exhaustive]`: `Error`, `PowerBroadcastSetting`, + `PowerEventParam`, `SessionChangeReason` and `ServiceControl`. + ## [0.6.0] - 2023-03-07 ### Added