refactor: move lact-client to a separate crate

This commit is contained in:
Ilya Zlobintsev
2023-01-01 20:28:19 +02:00
parent 2e25a5b5fb
commit 67957a4673
15 changed files with 41 additions and 16 deletions

14
Cargo.lock generated
View File

@@ -564,6 +564,18 @@ version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
[[package]]
name = "lact-client"
version = "0.1.0"
dependencies = [
"anyhow",
"lact-schema",
"nix",
"serde",
"serde_json",
"tracing",
]
[[package]]
name = "lact-daemon"
version = "0.2.0"
@@ -589,7 +601,7 @@ version = "0.2.0"
dependencies = [
"anyhow",
"gtk",
"lact-schema",
"lact-client",
"nix",
"serde",
"serde_json",

View File

@@ -1,3 +1,3 @@
[workspace]
resolver = "2"
members = ["lact-daemon", "lact-schema", "lact-gui"]
members = ["lact-*"]

12
lact-client/Cargo.toml Normal file
View File

@@ -0,0 +1,12 @@
[package]
name = "lact-client"
version = "0.1.0"
edition = "2021"
[dependencies]
lact-schema = { path = "../lact-schema" }
anyhow = "1.0.68"
nix = { version = "0.26.1", default-features = false }
serde = "1.0.152"
tracing = "0.1.37"
serde_json = "1.0.91"

View File

@@ -1,6 +1,8 @@
pub use lact_schema as schema;
use anyhow::{anyhow, Context};
use lact_schema::{DeviceInfo, DeviceListEntry, DeviceStats, FanCurveMap, Request, Response};
use nix::unistd::getuid;
use schema::{DeviceInfo, DeviceListEntry, DeviceStats, FanCurveMap, Request, Response};
use serde::Deserialize;
use std::{
io::{BufRead, BufReader, Write},

View File

@@ -5,7 +5,7 @@ authors = ["Ilya Zlobintsev <ilya.zl@protonmail.com>"]
edition = "2021"
[dependencies]
lact-schema = { path = "../lact-schema" }
lact-client = { path = "../lact-client" }
gtk = "0.16"
# pango = "0.16"
tracing = "0.1"

View File

@@ -1,6 +1,6 @@
use gtk::prelude::*;
use gtk::*;
use lact_schema::DeviceListEntry;
use lact_client::schema::DeviceListEntry;
use pango::EllipsizeMode;
#[derive(Clone)]

View File

@@ -7,14 +7,14 @@ use std::sync::{Arc, RwLock};
use std::thread;
use std::time::Duration;
use crate::client::DaemonClient;
use anyhow::Context;
use apply_revealer::ApplyRevealer;
use glib::clone;
use gtk::prelude::*;
use gtk::*;
use header::Header;
use lact_schema::DeviceStats;
use lact_client::schema::DeviceStats;
use lact_client::DaemonClient;
use root_stack::RootStack;
use tracing::{debug, error, info, trace};

View File

@@ -2,7 +2,7 @@ mod vulkan_info;
use gtk::prelude::*;
use gtk::*;
use lact_schema::{DeviceInfo, DeviceStats};
use lact_client::schema::{DeviceInfo, DeviceStats};
use vulkan_info::VulkanInfoFrame;
#[derive(Clone)]

View File

@@ -1,7 +1,7 @@
use glib::clone;
use gtk::prelude::*;
use gtk::*;
use lact_schema::VulkanInfo;
use lact_client::schema::VulkanInfo;
use tracing::trace;
#[derive(Clone)]

View File

@@ -7,7 +7,7 @@ mod warning_frame;
use glib::clone;
use gtk::prelude::*;
use gtk::*;
use lact_schema::{DeviceInfo, DeviceStats, PerformanceLevel, PowerStats};
use lact_client::schema::{DeviceInfo, DeviceStats, PerformanceLevel, PowerStats};
use performance_level_frame::PowerProfileFrame;
use power_cap_frame::PowerCapFrame;
use stats_grid::StatsGrid;

View File

@@ -1,6 +1,6 @@
use gtk::prelude::*;
use gtk::*;
use lact_schema::PerformanceLevel;
use lact_client::schema::PerformanceLevel;
#[derive(Clone)]
pub struct PowerProfileFrame {

View File

@@ -1,6 +1,6 @@
use gtk::prelude::*;
use gtk::*;
use lact_schema::{ClockspeedStats, DeviceStats, PowerStats, VoltageStats, VramStats};
use lact_client::schema::{ClockspeedStats, DeviceStats, PowerStats, VoltageStats, VramStats};
#[derive(Clone)]
pub struct StatsGrid {

View File

@@ -1,6 +1,6 @@
use gtk::prelude::*;
use gtk::*;
use lact_schema::FanCurveMap;
use lact_client::schema::FanCurveMap;
use std::collections::BTreeMap;
use tracing::debug;

View File

@@ -3,7 +3,7 @@
use glib::clone;
use gtk::prelude::*;
use gtk::*;
use lact_schema::DeviceStats;
use lact_client::schema::DeviceStats;
use std::collections::BTreeMap;
use tracing::trace;

View File

@@ -1,9 +1,8 @@
mod app;
mod client;
use anyhow::{anyhow, Context};
use app::App;
use client::DaemonClient;
use lact_client::DaemonClient;
use tracing::metadata::LevelFilter;
use tracing_subscriber::EnvFilter;