Added "version" element to JSON outputs of binaries, added version check in controller (ignores mismatched binaries now)
This commit is contained in:
parent
917ce2d452
commit
d0868d0f42
3 changed files with 15 additions and 5 deletions
|
@ -36,17 +36,25 @@ namespace Controller {
|
||||||
if ((*it).substr(0, 7) == "MistOut"){
|
if ((*it).substr(0, 7) == "MistOut"){
|
||||||
arg_one = Util::getMyPath() + (*it);
|
arg_one = Util::getMyPath() + (*it);
|
||||||
conn_args[0] = arg_one.c_str();
|
conn_args[0] = arg_one.c_str();
|
||||||
capabilities["connectors"][(*it).substr(7)] = JSON::fromString(Util::Procs::getOutputOf((char**)conn_args));
|
std::string entryName = (*it).substr(7);
|
||||||
if (capabilities["connectors"][(*it).substr(7)].size() < 1){
|
capabilities["connectors"][entryName] = JSON::fromString(Util::Procs::getOutputOf((char**)conn_args));
|
||||||
capabilities["connectors"].removeMember((*it).substr(7));
|
if (capabilities["connectors"][entryName].size() < 1){
|
||||||
|
capabilities["connectors"].removeMember(entryName);
|
||||||
|
}else if (capabilities["connectors"][entryName]["version"].asStringRef() != PACKAGE_VERSION){
|
||||||
|
WARN_MSG("Output %s version mismatch (%s != " PACKAGE_VERSION ")", entryName.c_str(), capabilities["connectors"][entryName]["version"].asStringRef().c_str());
|
||||||
|
capabilities["connectors"].removeMember(entryName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((*it).substr(0, 6) == "MistIn" && (*it) != "MistInfo"){
|
if ((*it).substr(0, 6) == "MistIn" && (*it) != "MistInfo"){
|
||||||
arg_one = Util::getMyPath() + (*it);
|
arg_one = Util::getMyPath() + (*it);
|
||||||
conn_args[0] = arg_one.c_str();
|
conn_args[0] = arg_one.c_str();
|
||||||
capabilities["inputs"][(*it).substr(6)] = JSON::fromString(Util::Procs::getOutputOf((char**)conn_args));
|
std::string entryName = (*it).substr(6);
|
||||||
if (capabilities["inputs"][(*it).substr(6)].size() < 1){
|
capabilities["inputs"][entryName] = JSON::fromString(Util::Procs::getOutputOf((char**)conn_args));
|
||||||
|
if (capabilities["inputs"][entryName].size() < 1){
|
||||||
capabilities["inputs"].removeMember((*it).substr(6));
|
capabilities["inputs"].removeMember((*it).substr(6));
|
||||||
|
}else if (capabilities["inputs"][entryName]["version"].asStringRef() != PACKAGE_VERSION){
|
||||||
|
WARN_MSG("Input %s version mismatch (%s != " PACKAGE_VERSION ")", entryName.c_str(), capabilities["inputs"][entryName]["version"].asStringRef().c_str());
|
||||||
|
capabilities["inputs"].removeMember(entryName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -98,6 +98,7 @@ namespace Mist {
|
||||||
Util::Config::streamName = streamName;
|
Util::Config::streamName = streamName;
|
||||||
|
|
||||||
if (config->getBool("json")) {
|
if (config->getBool("json")) {
|
||||||
|
capa["version"] = PACKAGE_VERSION;
|
||||||
std::cout << capa.toString() << std::endl;
|
std::cout << capa.toString() << std::endl;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@ int main(int argc, char * argv[]) {
|
||||||
mistOut::init(&conf);
|
mistOut::init(&conf);
|
||||||
if (conf.parseArgs(argc, argv)) {
|
if (conf.parseArgs(argc, argv)) {
|
||||||
if (conf.getBool("json")) {
|
if (conf.getBool("json")) {
|
||||||
|
mistOut::capa["version"] = PACKAGE_VERSION;
|
||||||
std::cout << mistOut::capa.toString() << std::endl;
|
std::cout << mistOut::capa.toString() << std::endl;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue