@@ -18,18 +18,75 @@ use tauri_plugin_store::StoreExt;
1818
1919use crate :: {
2020 server:: handle_client, simba:: ensure_simba_directories, simba:: read_plugins_version,
21- simba:: run_simba, simba:: sync_plugins_repo, ExecutablePaths ,
21+ simba:: run_simba, simba:: sync_plugins_repo, LauncherVariables ,
2222} ;
2323
2424// Learn more about Tauri commands at https://tauri.app/develop/calling-rust/
25+ #[ tauri:: command]
26+ pub fn get_dev_mode ( launcher_vars : State < ' _ , Mutex < LauncherVariables > > ) -> bool {
27+ let launcher_vars = launcher_vars. lock ( ) . unwrap ( ) ;
28+ launcher_vars. devmode
29+ }
30+
31+ #[ tauri:: command]
32+ pub fn set_dev_mode (
33+ app : tauri:: AppHandle ,
34+ launcher_vars : State < ' _ , Mutex < LauncherVariables > > ,
35+ state : bool ,
36+ ) {
37+ let mut launcher_vars = launcher_vars. lock ( ) . unwrap ( ) ;
38+ launcher_vars. devmode = state;
39+
40+ let store = app
41+ . store ( "settings.json" )
42+ . expect ( "Failed to retrieve settings.json store!" ) ;
43+ store. set ( "devmode" , state) ;
44+ }
45+
46+ #[ tauri:: command]
47+ pub fn get_dev_updates ( launcher_vars : State < ' _ , Mutex < LauncherVariables > > ) -> bool {
48+ let launcher_vars = launcher_vars. lock ( ) . unwrap ( ) ;
49+ launcher_vars. dev_updates
50+ }
51+
52+ #[ tauri:: command]
53+ pub fn set_dev_updates (
54+ app : tauri:: AppHandle ,
55+ launcher_vars : State < ' _ , Mutex < LauncherVariables > > ,
56+ state : bool ,
57+ ) {
58+ let mut launcher_vars = launcher_vars. lock ( ) . unwrap ( ) ;
59+ launcher_vars. dev_updates = state;
60+
61+ let store = app
62+ . store ( "settings.json" )
63+ . expect ( "Failed to retrieve settings.json store!" ) ;
64+ store. set ( "dev_updates" , state) ;
65+ }
66+
67+ #[ tauri:: command]
68+ pub fn get_executable_path (
69+ launcher_vars : State < ' _ , Mutex < LauncherVariables > > ,
70+ exe : String ,
71+ ) -> String {
72+ let paths = launcher_vars. lock ( ) . unwrap ( ) ;
73+ match exe. as_str ( ) {
74+ "simba" => paths. simba . to_str ( ) . unwrap ( ) . to_string ( ) ,
75+ "devsimba" => paths. devsimba . to_str ( ) . unwrap ( ) . to_string ( ) ,
76+ "runelite" => paths. runelite . to_str ( ) . unwrap ( ) . to_string ( ) ,
77+ "osclient" => paths. osclient . to_str ( ) . unwrap ( ) . to_string ( ) ,
78+ _ => paths. simba . to_str ( ) . unwrap ( ) . to_string ( ) ,
79+ }
80+ }
81+
2582#[ tauri:: command]
2683pub fn set_executable_path (
2784 app : tauri:: AppHandle ,
28- paths : State < ' _ , Mutex < ExecutablePaths > > ,
85+ launcher_vars : State < ' _ , Mutex < LauncherVariables > > ,
2986 exe : String ,
3087 path : String ,
3188) {
32- let mut paths = paths . lock ( ) . unwrap ( ) ;
89+ let mut paths = launcher_vars . lock ( ) . unwrap ( ) ;
3390 match exe. as_str ( ) {
3491 "simba" => paths. simba = PathBuf :: from ( path. clone ( ) ) ,
3592 "devsimba" => paths. devsimba = PathBuf :: from ( path. clone ( ) ) ,
@@ -45,24 +102,19 @@ pub fn set_executable_path(
45102}
46103
47104#[ tauri:: command]
48- pub fn get_executable_path ( paths : State < ' _ , Mutex < ExecutablePaths > > , exe : String ) -> String {
49- let paths = paths. lock ( ) . unwrap ( ) ;
50- match exe. as_str ( ) {
51- "simba" => paths. simba . to_str ( ) . unwrap ( ) . to_string ( ) ,
52- "devsimba" => paths. devsimba . to_str ( ) . unwrap ( ) . to_string ( ) ,
53- "runelite" => paths. runelite . to_str ( ) . unwrap ( ) . to_string ( ) ,
54- "osclient" => paths. osclient . to_str ( ) . unwrap ( ) . to_string ( ) ,
55- _ => paths. simba . to_str ( ) . unwrap ( ) . to_string ( ) ,
56- }
57- }
58-
59- #[ tauri:: command]
60- pub fn delete_cache ( paths : State < ' _ , Mutex < ExecutablePaths > > ) -> tauri:: Result < ( ) > {
105+ pub fn delete_cache (
106+ launcher_vars : State < ' _ , Mutex < LauncherVariables > > ,
107+ exe : String ,
108+ ) -> tauri:: Result < ( ) > {
61109 let path = {
62- let paths = paths. lock ( ) . unwrap ( ) ;
63- paths. simba . clone ( )
110+ let paths = launcher_vars. lock ( ) . unwrap ( ) ;
111+ if exe == "devsimba" {
112+ paths. devsimba . clone ( )
113+ } else {
114+ paths. simba . clone ( )
115+ }
64116 } ;
65- let cache_path = path. join ( "Data/ Cache" ) ;
117+ let cache_path = path. join ( "Data" ) . join ( " Cache") ;
66118
67119 if cache_path. exists ( ) {
68120 remove_dir_all ( & cache_path) . expect ( "Failed to delete cache path." ) ;
@@ -73,13 +125,20 @@ pub fn delete_cache(paths: State<'_, Mutex<ExecutablePaths>>) -> tauri::Result<(
73125}
74126
75127#[ tauri:: command]
76- pub fn delete_assets ( paths : State < ' _ , Mutex < ExecutablePaths > > ) -> tauri:: Result < ( ) > {
128+ pub fn delete_assets (
129+ launcher_vars : State < ' _ , Mutex < LauncherVariables > > ,
130+ exe : String ,
131+ ) -> tauri:: Result < ( ) > {
77132 let path = {
78- let paths = paths. lock ( ) . unwrap ( ) ;
79- paths. simba . clone ( )
133+ let paths = launcher_vars. lock ( ) . unwrap ( ) ;
134+ if exe == "devsimba" {
135+ paths. devsimba . clone ( )
136+ } else {
137+ paths. simba . clone ( )
138+ }
80139 } ;
81140
82- let assets_path = path. join ( "Data/ Assets" ) ;
141+ let assets_path = path. join ( "Data" ) . join ( " Assets") ;
83142
84143 if assets_path. exists ( ) {
85144 remove_dir_all ( & assets_path) . expect ( "Failed to delete assets path." ) ;
@@ -90,17 +149,24 @@ pub fn delete_assets(paths: State<'_, Mutex<ExecutablePaths>>) -> tauri::Result<
90149}
91150
92151#[ tauri:: command]
93- pub fn delete_configs ( paths : State < ' _ , Mutex < ExecutablePaths > > ) -> tauri:: Result < ( ) > {
152+ pub fn delete_configs (
153+ launcher_vars : State < ' _ , Mutex < LauncherVariables > > ,
154+ exe : String ,
155+ ) -> tauri:: Result < ( ) > {
94156 let path = {
95- let paths = paths. lock ( ) . unwrap ( ) ;
96- paths. simba . clone ( )
157+ let paths = launcher_vars. lock ( ) . unwrap ( ) ;
158+ if exe == "devsimba" {
159+ paths. devsimba . clone ( )
160+ } else {
161+ paths. simba . clone ( )
162+ }
97163 } ;
98164
99- let assets_path = path. join ( "Configs" ) ;
165+ let configs = path. join ( "Configs" ) ;
100166
101- if assets_path . exists ( ) {
102- remove_dir_all ( & assets_path ) . expect ( "Failed to delete configs path." ) ;
103- println ! ( "Deleted folder: {:?}" , assets_path ) ;
167+ if configs . exists ( ) {
168+ remove_dir_all ( & configs ) . expect ( "Failed to delete configs path." ) ;
169+ println ! ( "Deleted folder: {:?}" , configs ) ;
104170 }
105171
106172 Ok ( ( ) )
@@ -148,14 +214,14 @@ pub fn save_blob(
148214
149215#[ tauri:: command]
150216pub async fn run_executable (
151- paths : State < ' _ , Mutex < ExecutablePaths > > ,
217+ launcher_vars : State < ' _ , Mutex < LauncherVariables > > ,
152218 exe : String ,
153219 args : Vec < String > ,
154220) -> Result < String , String > {
155221 let args_clone = args. clone ( ) ;
156222
157223 let path = {
158- let paths = paths . lock ( ) . unwrap ( ) ;
224+ let paths = launcher_vars . lock ( ) . unwrap ( ) ;
159225 match exe. as_str ( ) {
160226 "simba" => paths. simba . clone ( ) ,
161227 "devsimba" => paths. devsimba . clone ( ) ,
@@ -169,7 +235,7 @@ pub async fn run_executable(
169235 run_simba ( path, args) . await ;
170236 } else if exe == "devsimba" {
171237 let diff_dirs = {
172- let paths = paths . lock ( ) . unwrap ( ) ;
238+ let paths = launcher_vars . lock ( ) . unwrap ( ) ;
173239 paths. simba != paths. devsimba
174240 } ;
175241
@@ -252,9 +318,11 @@ pub async fn sign_up(id: String) -> Result<String, String> {
252318}
253319
254320#[ tauri:: command]
255- pub fn get_plugin_version ( paths : State < ' _ , Mutex < ExecutablePaths > > ) -> Result < String , String > {
321+ pub fn get_plugin_version (
322+ launcher_vars : State < ' _ , Mutex < LauncherVariables > > ,
323+ ) -> Result < String , String > {
256324 let path = {
257- let paths = paths . lock ( ) . unwrap ( ) ;
325+ let paths = launcher_vars . lock ( ) . unwrap ( ) ;
258326 paths. simba . clone ( )
259327 } ;
260328 let version_path = path. join ( "Plugins/wasp-plugins/version.simba" ) ;
@@ -263,10 +331,17 @@ pub fn get_plugin_version(paths: State<'_, Mutex<ExecutablePaths>>) -> Result<St
263331}
264332
265333#[ tauri:: command]
266- pub async fn reinstall_plugins ( paths : State < ' _ , Mutex < ExecutablePaths > > ) -> tauri:: Result < ( ) > {
334+ pub async fn reinstall_plugins (
335+ launcher_vars : State < ' _ , Mutex < LauncherVariables > > ,
336+ exe : String ,
337+ ) -> tauri:: Result < ( ) > {
267338 let path = {
268- let paths = paths. lock ( ) . unwrap ( ) ;
269- paths. simba . clone ( )
339+ let paths = launcher_vars. lock ( ) . unwrap ( ) ;
340+ if exe == "devsimba" {
341+ paths. devsimba . clone ( )
342+ } else {
343+ paths. simba . clone ( )
344+ }
270345 } ;
271346
272347 println ! ( "Reinstalling plugins!" ) ;
0 commit comments