#include "MqttDesencadenadorManager.h" MqttOper::MqttOper() { } bool MqttOper::Test(MqttVarManager* vars) { return false; } //******************************************************************* MqttOperArray::MqttOperArray() { n=0; } MqttOper* MqttOperArray:: Get(int i) { return &(data[i]); } int MqttOperArray::Add(MqttOper* var) { data[n]=*var; n++; return n-1; } //******************************************************************* MqttCausa::MqttCausa() { } bool MqttCausa::Test(MqttVarManager *vars) { return true; } //******************************************************************* MqttCausaArray::MqttCausaArray() { n=0; } MqttCausa* MqttCausaArray:: Get(int i) { return &(data[i]); } int MqttCausaArray::Add(MqttCausa* var) { data[n]=*var; n++; return n-1; } //******************************************************************* MqttCausaManager::MqttCausaManager() { } bool MqttCausaManager::IsTrue(int icau, MqttVarManager *vars) { return false; } //******************************************************************* MqttEfecto::MqttEfecto() { } void MqttEfecto::Exe(MqttVarManager *vars) { switch((int)tipo) { case((int)MqttEfecto::InvierteValVar): { vars->InvierteVar(ia); break; } case((int)MqttEfecto::SetValVar): { vars->SetVal(ia, val); break; } default: break; } } //******************************************************************* MqttDesencadenador::MqttDesencadenador() { tipo=0; } void MqttDesencadenador::Exe(MqttVarManager *vars, MqttEfectoArray *efe, MqttCausaManager* caus) { switch(tipo) { default: if(caus->IsTrue(ie,vars)) efe->Get(ie)->Exe(vars); break; } } //******************************************************************* MqttDesencadenadorArray::MqttDesencadenadorArray() { n=0; } MqttDesencadenador* MqttDesencadenadorArray::Get(int i) { return &(data[i]); } int MqttDesencadenadorArray::Add(MqttDesencadenador* var) { data[n]=*var; n++; return n-1; } //******************************************************************* MqttDesencadenadorManager::MqttDesencadenadorManager() { revisa=true; } void MqttDesencadenadorManager::OnVarChange(int ivar) { revisa=true; //marca Accion-- } void MqttDesencadenadorManager::inicia( MqttVarManager *v) { vars=v; } void MqttDesencadenadorManager::Suscribe() { } int MqttDesencadenadorManager::OnMqtt(char* topic, char* payload) { } void MqttDesencadenadorManager::loop() { if(revisa) { revisa=false; RevisaDesencadenadores(); } } void MqttDesencadenadorManager::RevisaDesencadenadores() { for(int i=0; iExe(vars, &act, &caus); } //desmarca Var de volatiles vars->ResetVolatileVar(); }