projects
/
temp2RGB.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
b03f018
)
Cargo fmt
author
Greg Burri
<greg.burri@gmail.com>
Tue, 19 Sep 2023 14:47:24 +0000
(16:47 +0200)
committer
Greg Burri
<greg.burri@gmail.com>
Tue, 19 Sep 2023 14:47:24 +0000
(16:47 +0200)
src/main.rs
patch
|
blob
|
history
diff --git
a/src/main.rs
b/src/main.rs
index
5f6e55a
..
29a9343
100644
(file)
--- a/
src/main.rs
+++ b/
src/main.rs
@@
-14,7
+14,7
@@
use std::{
};
use anyhow::Result;
};
use anyhow::Result;
-use log::{
error, info, trace, warn, debug
};
+use log::{
debug, error, info, trace, warn
};
use windows::Win32::Foundation::{ERROR_SERVICE_DOES_NOT_EXIST, WIN32_ERROR};
use windows_service::{
service::{
use windows::Win32::Foundation::{ERROR_SERVICE_DOES_NOT_EXIST, WIN32_ERROR};
use windows_service::{
service::{
@@
-65,7
+65,11
@@
fn main() -> Result<()> {
.basename(consts::SERVICE_NAME),
)
.duplicate_to_stdout(flexi_logger::Duplicate::All)
.basename(consts::SERVICE_NAME),
)
.duplicate_to_stdout(flexi_logger::Duplicate::All)
- .format(if is_debug { flexi_logger::default_format } else { flexi_logger::detailed_format })
+ .format(if is_debug {
+ flexi_logger::default_format
+ } else {
+ flexi_logger::detailed_format
+ })
.rotate(
flexi_logger::Criterion::Size(1024 * 1024),
flexi_logger::Naming::Timestamps,
.rotate(
flexi_logger::Criterion::Size(1024 * 1024),
flexi_logger::Naming::Timestamps,
@@
-168,7
+172,7
@@
fn uninstall_service() -> windows_service::Result<()> {
fn service_main(arguments: Vec<OsString>) {
if let Err(error) = run_service(arguments) {
fn service_main(arguments: Vec<OsString>) {
if let Err(error) = run_service(arguments) {
-
println!("Error:
{error}");
+
error!("
{error}");
}
}
}
}
@@
-176,6
+180,9
@@
fn run_service(_arguments: Vec<OsString>) -> Result<(), windows_service::Error>
let completed: Arc<AtomicBool> = Arc::new(AtomicBool::new(false));
let completed_event_handler = Arc::clone(&completed);
let completed: Arc<AtomicBool> = Arc::new(AtomicBool::new(false));
let completed_event_handler = Arc::clone(&completed);
+
+ info!("Setuping the event handler...");
+
let event_handler = move |control_event| -> ServiceControlHandlerResult {
match control_event {
ServiceControl::Stop => {
let event_handler = move |control_event| -> ServiceControlHandlerResult {
match control_event {
ServiceControl::Stop => {
@@
-204,29
+211,15
@@
fn run_service(_arguments: Vec<OsString>) -> Result<(), windows_service::Error>
// Register system service event handler
let status_handle = service_control_handler::register(consts::SERVICE_NAME, event_handler)?;
// Register system service event handler
let status_handle = service_control_handler::register(consts::SERVICE_NAME, event_handler)?;
- let running_status = ServiceStatus {
- // Should match the one from system service registry
+ status_handle.set_service_status(ServiceStatus {
service_type: ServiceType::OWN_PROCESS,
service_type: ServiceType::OWN_PROCESS,
-
- // The new state
current_state: ServiceState::Running,
current_state: ServiceState::Running,
-
- // Accept stop events when running
controls_accepted: ServiceControlAccept::STOP | ServiceControlAccept::SHUTDOWN,
controls_accepted: ServiceControlAccept::STOP | ServiceControlAccept::SHUTDOWN,
-
- // Used to report an error when starting or stopping only, otherwise must be zero
exit_code: ServiceExitCode::Win32(0),
exit_code: ServiceExitCode::Win32(0),
-
- // Only used for pending states, otherwise must be zero
checkpoint: 0,
checkpoint: 0,
-
- // Only used for pending states, otherwise must be zero
wait_hint: Duration::default(),
wait_hint: Duration::default(),
-
- process_id: None,
- };
-
- status_handle.set_service_status(running_status)?;
+ process_id: None, //Some(std::process::id()),
+ })?;
main_loop::main_loop(completed.clone());
main_loop::main_loop(completed.clone());
@@
-237,7
+230,7
@@
fn run_service(_arguments: Vec<OsString>) -> Result<(), windows_service::Error>
exit_code: ServiceExitCode::Win32(0),
checkpoint: 0,
wait_hint: Duration::default(),
exit_code: ServiceExitCode::Win32(0),
checkpoint: 0,
wait_hint: Duration::default(),
- process_id: None,
+ process_id: None,
//Some(std::process::id()),
})?;
info!("Main loop stopped: Temperature to RGB will now shut down");
})?;
info!("Main loop stopped: Temperature to RGB will now shut down");