get current state (active Effects) over JSON Interface (#608)

* Create ActiveEffectDefinition.h

* Update EffectEngine.h

* Update Hyperion.h

* Update Effect.h

* Update EffectEngine.cpp

* Update Hyperion.cpp

* Update JsonClientConnection.cpp


Former-commit-id: 5664b69da6893dd0d0de0e7c74c01cdcafd57310
This commit is contained in:
Paulchen-Panther
2016-04-24 17:07:31 +02:00
committed by brindosch
parent d4dda2dcc4
commit bb9b02cf05
7 changed files with 67 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
#pragma once
// stl include
#include <string>
// json include
#include <json/value.h>
struct ActiveEffectDefinition
{
std::string script;
int priority;
int timeout;
Json::Value args;
};

View File

@@ -11,6 +11,7 @@
// Effect engine includes
#include <effectengine/EffectDefinition.h>
#include <effectengine/ActiveEffectDefinition.h>
// pre-declarioation
class Effect;
@@ -25,6 +26,8 @@ public:
virtual ~EffectEngine();
const std::list<EffectDefinition> & getEffects() const;
const std::list<ActiveEffectDefinition> & getActiveEffects();
static bool loadEffectDefinition(const std::string & path, const std::string & effectConfigFile, EffectDefinition &effectDefinition);
@@ -54,6 +57,8 @@ private:
std::list<EffectDefinition> _availableEffects;
std::list<Effect *> _activeEffects;
std::list<ActiveEffectDefinition> _availableActiveEffects;
PyThreadState * _mainThreadState;
};

View File

@@ -20,6 +20,7 @@
// Effect engine includes
#include <effectengine/EffectDefinition.h>
#include <effectengine/ActiveEffectDefinition.h>
// Forward class declaration
class LedDevice;
@@ -99,6 +100,10 @@ public:
/// Get the list of available effects
/// @return The list of available effects
const std::list<EffectDefinition> &getEffects() const;
/// Get the list of active effects
/// @return The list of active effects
const std::list<ActiveEffectDefinition> &getActiveEffects();
public slots:
///