diff options
author | yuzu <yuzu@b9215c17-b818-4693-b096-d1e41a411fef> | 2025-07-12 22:17:26 +0000 |
---|---|---|
committer | yuzu <yuzu@b9215c17-b818-4693-b096-d1e41a411fef> | 2025-07-12 22:17:26 +0000 |
commit | e33f9a59f875edf1240ca80c1014235296ff3cbf (patch) | |
tree | 5777c00bafad650d6be84f42f51ba4f873d92c53 /src/server/context.rs | |
parent | 78608add1c69a877b76a05147f6c26b7abe66669 (diff) | |
download | salaryman-e33f9a59f875edf1240ca80c1014235296ff3cbf.tar.gz salaryman-e33f9a59f875edf1240ca80c1014235296ff3cbf.tar.bz2 salaryman-e33f9a59f875edf1240ca80c1014235296ff3cbf.zip |
add additional endpoints; change out mutexes for rwlocks
git-svn-id: svn+ssh://diminuette.aengel.lesbianunix.dev/salaryman/trunk@15 b9215c17-b818-4693-b096-d1e41a411fef
Diffstat (limited to 'src/server/context.rs')
-rw-r--r-- | src/server/context.rs | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/server/context.rs b/src/server/context.rs new file mode 100644 index 0000000..132e2dc --- /dev/null +++ b/src/server/context.rs @@ -0,0 +1,47 @@ +use super::Config; +use salaryman::service::{Service, ServiceConf}; +use std::path::PathBuf; +use std::sync::Arc; +use tokio::sync::RwLock; + +pub struct SalarymanService { + pub config: ServiceConf, + pub service: Arc<RwLock<Service>>, +} +impl SalarymanService { + pub fn new() -> Self { + Self { + config: ServiceConf::new(), + service: Arc::new(RwLock::new(Service::new())), + } + } + pub fn from_parts(config: ServiceConf, service: Arc<RwLock<Service>>) -> Self { + Self { config, service } + } +} + +pub struct SalarymanDContext { + pub services: RwLock<Vec<Arc<SalarymanService>>>, + pub save_file: PathBuf, + pub config: Arc<RwLock<Config>>, +} +impl SalarymanDContext { + pub fn new() -> Self { + Self { + services: RwLock::new(Vec::new()), + save_file: PathBuf::from(""), + config: Arc::new(RwLock::new(Config::new())), + } + } + pub fn from_parts( + services: RwLock<Vec<Arc<SalarymanService>>>, + save_file: PathBuf, + config: Arc<RwLock<Config>>, + ) -> Self { + Self { + services, + save_file, + config, + } + } +} |