X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=staging%2Fxdg-launcher.git;a=blobdiff_plain;f=src%2Frunxdg.cpp;fp=src%2Frunxdg.cpp;h=3ff942c1bdd196c2ef7372e21cce12598c79b4bd;hp=5553ff5ddc0f12bf3726a37a4ed0d5176bb87f03;hb=7508882ed8fc512d608585147e2520a9341401df;hpb=0676869ae83b3e2cdac77c0a29367367ca211f5a diff --git a/src/runxdg.cpp b/src/runxdg.cpp index 5553ff5..3ff942c 100644 --- a/src/runxdg.cpp +++ b/src/runxdg.cpp @@ -410,7 +410,29 @@ int RunXDG::parse_config (const char *path_to_config) auto params = app->get_array_of("params"); for (const auto& param : *params) { + // replace special string "@port@" and "@token@" + size_t found = param.find("@port@"); + if (found != std::string::npos) { + std::string sub1 = param.substr(0, found); + std::string sub2 = param.substr(found + 6, param.size() - found); + std::string str = sub1 + std::to_string(m_port) + sub2; + pl->m_args_v.push_back(str); + AGL_DEBUG("params[%s] (match @port@)", str.c_str()); + continue; + } + + found = param.find("@token@"); + if (found != std::string::npos) { + std::string sub1 = param.substr(0, found); + std::string sub2 = param.substr(found + 7, param.size() - found); + std::string str = sub1 + m_token + sub2; + pl->m_args_v.push_back(str); + AGL_DEBUG("params[%s] (match @token@)", str.c_str()); + continue; + } + pl->m_args_v.push_back(param); + AGL_DEBUG("params[%s]", param.c_str()); }