mirror of
https://gitlab.com/ArkHost/HelixNotes.git
synced 2026-07-24 07:45:57 +02:00
29 lines
804 B
Rust
29 lines
804 B
Rust
use crate::search::SearchIndex;
|
|
use crate::types::AppConfig;
|
|
use notify::RecommendedWatcher;
|
|
use std::sync::atomic::AtomicBool;
|
|
use std::sync::Mutex;
|
|
use std::sync::Arc;
|
|
|
|
pub struct AppState {
|
|
pub config: Mutex<AppConfig>,
|
|
pub search_index: Mutex<Option<Arc<SearchIndex>>>,
|
|
pub watcher: Mutex<Option<RecommendedWatcher>>,
|
|
pub importing: AtomicBool,
|
|
pub syncing: AtomicBool,
|
|
pub pending_open_file: Mutex<Option<String>>,
|
|
}
|
|
|
|
impl AppState {
|
|
pub fn new(config: AppConfig) -> Self {
|
|
Self {
|
|
config: Mutex::new(config),
|
|
search_index: Mutex::new(None),
|
|
watcher: Mutex::new(None),
|
|
importing: AtomicBool::new(false),
|
|
syncing: AtomicBool::new(false),
|
|
pending_open_file: Mutex::new(None),
|
|
}
|
|
}
|
|
}
|