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"){
|
||||
arg_one = Util::getMyPath() + (*it);
|
||||
conn_args[0] = arg_one.c_str();
|
||||
capabilities["connectors"][(*it).substr(7)] = JSON::fromString(Util::Procs::getOutputOf((char**)conn_args));
|
||||
if (capabilities["connectors"][(*it).substr(7)].size() < 1){
|
||||
capabilities["connectors"].removeMember((*it).substr(7));
|
||||
std::string entryName = (*it).substr(7);
|
||||
capabilities["connectors"][entryName] = JSON::fromString(Util::Procs::getOutputOf((char**)conn_args));
|
||||
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"){
|
||||
arg_one = Util::getMyPath() + (*it);
|
||||
conn_args[0] = arg_one.c_str();
|
||||
capabilities["inputs"][(*it).substr(6)] = JSON::fromString(Util::Procs::getOutputOf((char**)conn_args));
|
||||
if (capabilities["inputs"][(*it).substr(6)].size() < 1){
|
||||
std::string entryName = (*it).substr(6);
|
||||
capabilities["inputs"][entryName] = JSON::fromString(Util::Procs::getOutputOf((char**)conn_args));
|
||||
if (capabilities["inputs"][entryName].size() < 1){
|
||||
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;
|
||||
|
||||
if (config->getBool("json")) {
|
||||
capa["version"] = PACKAGE_VERSION;
|
||||
std::cout << capa.toString() << std::endl;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@ int main(int argc, char * argv[]) {
|
|||
mistOut::init(&conf);
|
||||
if (conf.parseArgs(argc, argv)) {
|
||||
if (conf.getBool("json")) {
|
||||
mistOut::capa["version"] = PACKAGE_VERSION;
|
||||
std::cout << mistOut::capa.toString() << std::endl;
|
||||
return -1;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue