X-Git-Url: https://git.teslayout.com/public/public/public/?p=anna.git;a=blobdiff_plain;f=dynamic%2Flauncher%2Fgx%2F00001%2FProcedure.cpp;h=042efee9908589bea79d313a392380a1729d78fb;hp=4bd974f0a39ae98c4feabf9f8aa77cc764e42925;hb=8a597c7ccbe2986f505fd70258e4b59ecef4166f;hpb=3753f8bd8025131cc0b62da8942daefc376c1c46 diff --git a/dynamic/launcher/gx/00001/Procedure.cpp b/dynamic/launcher/gx/00001/Procedure.cpp index 4bd974f..042efee 100644 --- a/dynamic/launcher/gx/00001/Procedure.cpp +++ b/dynamic/launcher/gx/00001/Procedure.cpp @@ -28,8 +28,19 @@ namespace { void usage (std::string &response) { response += "\n\nInvalid arguments. Provide these ones:"; response += "\n"; + response += "\nSIGUSR2 Interface:"; response += "\n||||[|CCR-T xml file]"; response += "\n"; + response += "\nREST Interface:"; + response += "\n{"; + response += "\n \"seqI\":\"\""; + response += "\n ,\"seqF\":\"\""; + response += "\n ,\"msecsTimeout\":\"\""; + response += "\n ,\"digits\":\"\""; + response += "\n ,\"ccrI\":\"\""; + response += "\n [,\"ccrT\":\"\"]"; + response += "\n}"; + response += "\n"; response += "\nSequences are parsed when needed, over AVPs or internal values:"; response += "\n"; response += "\nSession-Id: ;;[;]"; @@ -278,8 +289,30 @@ void Procedure::execute(const std::string &args, std::string &response) throw(a } } // loop - response = "Completed provision for pid "; response += anna::functions::asString(a_app->getPid()); response += "; range ["; + response = "Completed provision: range ["; response += seq_i; response += ", "; response += seq_f; response += "]; scenary: "; response += "CCR-Initial"; if (haveTermination) response += " + CCR-Termination"; } +void Procedure::execute(const nlohmann::json &args, std::string &response) throw(anna::RuntimeException) { + + // Build the arguments string and call the previous centralized logic procedure execution: + // ||||[|CCR-T xml file] + const char *arg_names[6] = { "seqI", "seqF", "msecsTimeout", "digits", "ccrI", "ccrT" }; + std::string args_string, arg, pipe("|"); + + for (int i = 0; i < 6; i++) + { + auto it = args.find(arg_names[i]); + arg = (it != args.end() && it->is_string()) ? *it : ""; + if (arg != "") args_string += arg + pipe; + } + + // Remove last 'pipe': + if (args_string != "") + args_string = args_string.substr(0, args_string.size()-1); + + execute(args_string, response); +} + +