Added the possibility to set effect arguments over json

Former-commit-id: 4bc2920c04853e549c712ec70492371b14d20877
This commit is contained in:
johan
2013-12-01 14:09:01 +01:00
parent ae148afba9
commit 515ae3e8c0
12 changed files with 95 additions and 30 deletions

View File

@@ -102,7 +102,7 @@ void JsonConnection::setImage(QImage image, int priority, int duration)
parseReply(reply);
}
void JsonConnection::setEffect(const std::string &effectName, int priority, int duration)
void JsonConnection::setEffect(const std::string &effectName, const std::string & effectArgs, int priority, int duration)
{
std::cout << "Start effect " << effectName << std::endl;
@@ -112,6 +112,14 @@ void JsonConnection::setEffect(const std::string &effectName, int priority, int
command["priority"] = priority;
Json::Value & effect = command["effect"];
effect["name"] = effectName;
if (effectArgs.size() > 0)
{
Json::Reader reader;
if (!reader.parse(effectArgs, effect["args"], false))
{
throw std::runtime_error("Error in effect arguments: " + reader.getFormattedErrorMessages());
}
}
if (duration > 0)
{
command["duration"] = duration;