[ui] Add auto-mount on first launch functionality #52
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				BlockStorage/repertory/pipeline/head This commit looks good
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	BlockStorage/repertory/pipeline/head This commit looks good
				
			This commit is contained in:
		| @@ -57,13 +57,12 @@ void windows_create_to_unix(const UINT32 &create_options, | ||||
|                             const UINT32 &granted_access, std::uint32_t &flags, | ||||
|                             remote::file_mode &mode); | ||||
| #if defined(__APPLE__) | ||||
| [[nodiscard]] auto | ||||
| generate_launchd_plist(const std::string &label, std::string plist_path, | ||||
|                        const std::vector<std::string> &args, | ||||
|                        const std::string &working_dir = "/tmp", | ||||
|                        const std::string &stdout_log = "/tmp/stdout.log", | ||||
|                        const std::string &stderr_log = "/tmp/stderr.log") | ||||
|     -> bool; | ||||
| [[nodiscard]] auto generate_launchd_plist( | ||||
|     const std::string &label, std::string plist_path, | ||||
|     const std::vector<std::string> &args, bool run_at_load = false, | ||||
|     bool keep_alive = false, const std::string &working_dir = "/tmp", | ||||
|     const std::string &stdout_log = "/tmp/stdout.log", | ||||
|     const std::string &stderr_log = "/tmp/stderr.log") -> bool; | ||||
|  | ||||
| [[nodiscard]] auto launchctl_command(std::string_view label, | ||||
|                                      launchctl_type type) -> int; | ||||
|   | ||||
| @@ -450,7 +450,7 @@ auto fuse_base::mount([[maybe_unused]] std::vector<std::string> orig_args, | ||||
|  | ||||
|     if (not utils::generate_launchd_plist( | ||||
|             label_, utils::path::combine("~", {"/Library/LaunchAgents"}), | ||||
|             orig_args, utils::path::absolute("."), | ||||
|             orig_args, false, false, utils::path::absolute("."), | ||||
|             fmt::format("/tmp/repertory_{}_{}.out", | ||||
|                         provider_type_to_string(prov), unique_id), | ||||
|             fmt::format("/tmp/repertory_{}_{}.err", | ||||
|   | ||||
| @@ -310,6 +310,7 @@ auto create_daemon(std::function<int()> main_func) -> int { | ||||
| #if defined(__APPLE__) | ||||
| auto generate_launchd_plist(const std::string &label, std::string plist_path, | ||||
|                             const std::vector<std::string> &args, | ||||
|                             bool run_at_load, bool keep_alive, | ||||
|                             const std::string &working_dir, | ||||
|                             const std::string &stdout_log, | ||||
|                             const std::string &stderr_log) -> bool { | ||||
| @@ -349,7 +350,10 @@ auto generate_launchd_plist(const std::string &label, std::string plist_path, | ||||
|   dict.append_child("string").text().set(working_dir.c_str()); | ||||
|  | ||||
|   dict.append_child("key").text().set("KeepAlive"); | ||||
|   dict.append_child("false"); | ||||
|   dict.append_child(keep_alive ? "true" : "false"); | ||||
|  | ||||
|   dict.append_child("key").text().set("RunAtLoad"); | ||||
|   dict.append_child(run_at_load ? "true" : "false"); | ||||
|  | ||||
|   dict.append_child("key").text().set("StandardOutPath"); | ||||
|   dict.append_child("string").text().set(stdout_log.c_str()); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user