ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/salaryman/trunk/src/server/context.rs
Revision: 15
Committed: Sat Jul 12 22:17:26 2025 UTC (2 months, 3 weeks ago) by yuzu
File size: 1183 byte(s)
Log Message:
add additional endpoints; change out mutexes for rwlocks

File Contents

# User Rev Content
1 yuzu 15 use super::Config;
2     use salaryman::service::{Service, ServiceConf};
3     use std::path::PathBuf;
4     use std::sync::Arc;
5     use tokio::sync::RwLock;
6    
7     pub struct SalarymanService {
8     pub config: ServiceConf,
9     pub service: Arc<RwLock<Service>>,
10     }
11     impl SalarymanService {
12     pub fn new() -> Self {
13     Self {
14     config: ServiceConf::new(),
15     service: Arc::new(RwLock::new(Service::new())),
16     }
17     }
18     pub fn from_parts(config: ServiceConf, service: Arc<RwLock<Service>>) -> Self {
19     Self { config, service }
20     }
21     }
22    
23     pub struct SalarymanDContext {
24     pub services: RwLock<Vec<Arc<SalarymanService>>>,
25     pub save_file: PathBuf,
26     pub config: Arc<RwLock<Config>>,
27     }
28     impl SalarymanDContext {
29     pub fn new() -> Self {
30     Self {
31     services: RwLock::new(Vec::new()),
32     save_file: PathBuf::from(""),
33     config: Arc::new(RwLock::new(Config::new())),
34     }
35     }
36     pub fn from_parts(
37     services: RwLock<Vec<Arc<SalarymanService>>>,
38     save_file: PathBuf,
39     config: Arc<RwLock<Config>>,
40     ) -> Self {
41     Self {
42     services,
43     save_file,
44     config,
45     }
46     }
47     }