[ui] Add auto-mount on first launch functionality #52
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
This commit is contained in:
@@ -251,6 +251,34 @@ void mgmt_app_config::set_auto_start(bool auto_start) {
|
|||||||
fmt::format("failed to remove auto-start entry"));
|
fmt::format("failed to remove auto-start entry"));
|
||||||
}
|
}
|
||||||
#endif // defined(_WIN32)
|
#endif // defined(_WIN32)
|
||||||
|
|
||||||
|
#if defined(__APPLE__)
|
||||||
|
auto label = "com.fifthgrid.blockstorage.repertory.ui";
|
||||||
|
auto plist_file = utils::file::file{
|
||||||
|
utils::path::combine("~", {"/Library/LaunchAgents", label})};
|
||||||
|
if (auto_start) {
|
||||||
|
if (not plist_file.exists()) {
|
||||||
|
std::vector<std::string> args = {
|
||||||
|
utils::path::combine(".", {"repertory"}),
|
||||||
|
"-ui",
|
||||||
|
"-lo",
|
||||||
|
};
|
||||||
|
|
||||||
|
if (not utils::generate_launchd_plist(
|
||||||
|
label, utils::path::combine("~", {"/Library/LaunchAgents"}),
|
||||||
|
args, utils::path::absolute("."), "/tmp/repertory_ui.out",
|
||||||
|
"/tmp/repertory_ui.err")) {
|
||||||
|
utils::error::raise_error(
|
||||||
|
function_name, utils::get_last_error_code(),
|
||||||
|
fmt::format("failed to create auto-start entry"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (not plist_file.remove()) {
|
||||||
|
utils::error::raise_error(
|
||||||
|
function_name, utils::get_last_error_code(),
|
||||||
|
fmt::format("failed to remove auto-start entry"));
|
||||||
|
}
|
||||||
|
#endif // defined(__APPLE__)
|
||||||
} else {
|
} else {
|
||||||
utils::error::raise_error(function_name, utils::get_last_error_code(),
|
utils::error::raise_error(function_name, utils::get_last_error_code(),
|
||||||
fmt::format("failed to change directory"));
|
fmt::format("failed to change directory"));
|
||||||
|
Reference in New Issue
Block a user