MCPcopy Create free account
hub / github.com/FEX-Emu/FEX / ParseArguments

Function ParseArguments

Source/Tools/FEXRootFSFetcher/Main.cpp:59–112  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

57UIOverrideOption UIOption {UIOverrideOption::Default};
58
59void ParseArguments(int argc, char** argv) {
60 optparse::OptionParser Parser = optparse::OptionParser().description("Tool for fetching RootFS from FEXServers").add_help_option(true);
61
62 Parser.add_option("-y", "--assume-yes").action("store_true").help("Assume yes to prompts");
63
64 Parser.add_option("-x", "--extract").action("store_true").help("Extract compressed image");
65
66 Parser.add_option("-a", "--as-is").action("store_true").help("Use compressed image as-is");
67
68 Parser.add_option("--distro-name").help("Which distro name to select");
69
70 Parser.add_option("--distro-version").help("Which distro version to select");
71
72 Parser.add_option("--distro-list-first").action("store_true").help("When presented the distro-list option, automatically select the first distro if there isn't an exact match.");
73
74 Parser.add_option("--force-ui").choices({"default", "tty", "zenity"}).set_default("default").help("Override which UI to use for selection");
75
76 optparse::Values Options = Parser.parse_args(argc, argv);
77
78 if (Options.is_set_by_user("assume_yes")) {
79 AssumeYes = Options.get("assume_yes");
80 }
81
82 if (Options.is_set_by_user("extract")) {
83 CompressedUsageOption = CompressedImageOption::OPTION_EXTRACT;
84 }
85
86 if (Options.is_set_by_user("as_is")) {
87 CompressedUsageOption = CompressedImageOption::OPTION_ASIS;
88 }
89
90 if (Options.is_set_by_user("distro_list_first")) {
91 DistroListOption = ListQueryOption::OPTION_FIRST;
92 }
93
94 if (Options.is_set_by_user("distro_name")) {
95 DistroName = Options["distro_name"];
96 }
97
98 if (Options.is_set_by_user("distro_version")) {
99 DistroVersion = Options["distro_version"];
100 }
101
102 if (Options.is_set_by_user("force_ui")) {
103 const auto& Option = Options["force_ui"];
104 if (Option == "tty") {
105 UIOption = UIOverrideOption::TTY;
106 } else if (Option == "zenity") {
107 UIOption = UIOverrideOption::Zenity;
108 }
109 }
110
111 RemainingArgs = Parser.args();
112}
113} // namespace ArgOptions
114
115namespace Exec {

Callers 1

mainFunction · 0.85

Calls 1

getMethod · 0.80

Tested by

no test coverage detected