MCPcopy Create free account
hub / github.com/apohl79/audiogridder / initialise

Method initialise

Server/Source/App.cpp:32–317  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

30App::~App() { stopAsyncFunctors(); }
31
32void App::initialise(const String& commandLineParameters) {
33 auto args = getCommandLineParameterArray();
34 enum Modes { SCAN, MASTER, SERVER, SANDBOX_CHAIN, SANDBOX_PLUGIN };
35 Modes mode = MASTER;
36 String fileToScan, pluginId, clientId, error;
37 int workerPort = 0, srvId = -1;
38 json jconfig;
39 bool log = false, isLocal = false, secondRun = false;
40 for (int i = 0; i < args.size(); i++) {
41 if (!args[i].compare("-scan") && args.size() >= i + 2) {
42 fileToScan = args[++i];
43 mode = SCAN;
44 } else if (!args[i].compare("-server")) {
45 mode = SERVER;
46 } else if (args[i].startsWith("--" + Defaults::SANDBOX_CMD_PREFIX)) {
47 mode = SANDBOX_CHAIN;
48 } else if (!args[i].compare("-load")) {
49 mode = SANDBOX_PLUGIN;
50 } else if (!args[i].compare("-log")) {
51 log = true;
52 } else if (!args[i].compare("-secondrun")) {
53 secondRun = true;
54 } else if (!args[i].compare("-islocal") && args.size() >= i + 2) {
55 isLocal = args[++i] == "1";
56 } else if (!args[i].compare("-pluginid") && args.size() >= i + 2) {
57 pluginId = args[++i];
58 } else if (!args[i].compare("-clientid") && args.size() >= i + 2) {
59 clientId = args[++i];
60 } else if (!args[i].compare("-workerport") && args.size() >= i + 2) {
61 workerPort = args[++i].getIntValue();
62 } else if (!args[i].compare("-id") && args.size() >= i + 2) {
63 srvId = args[++i].getIntValue();
64 } else if (!args[i].compare("-config") && args.size() >= i + 2) {
65 MemoryBlock config;
66 if (config.fromBase64Encoding(args[++i])) {
67 try {
68 jconfig = json::parse(config.begin(), config.end());
69 } catch (json::parse_error& e) {
70 error << "failed to parse -config value: " << e.what();
71 }
72 } else {
73 error << "failed to decode -config value";
74 }
75 }
76 }
77 String cfgFile = Defaults::getConfigFileName(Defaults::ConfigServer, {{"id", String(srvId)}});
78 String appName;
79 String logName = getApplicationName() + "_";
80 bool linkLatest = true;
81 switch (mode) {
82 case MASTER:
83 appName = "Master";
84 break;
85 case SCAN:
86 appName = "Scan";
87 logName = fileToScan + "_";
88 logName = logName.replaceCharacters(":/\\|. ", "------").trimCharactersAtStart("-");
89 break;

Callers

nothing calls this directly

Calls 15

parseFunction · 0.85
getConfigFileNameFunction · 0.85
initServerThemeFunction · 0.85
configParseFileFunction · 0.85
jsonGetValueFunction · 0.85
deleteFileAtFinishFunction · 0.85
jsonHasValueFunction · 0.85
whatMethod · 0.80
existsMethod · 0.80
deleteFileMethod · 0.80
initializeFunction · 0.50
setEnabledFunction · 0.50

Tested by

no test coverage detected