87 lines
2.1 KiB
C++
87 lines
2.1 KiB
C++
|
|
/*
|
|||
|
|
* AddFailureSetup.h
|
|||
|
|
*
|
|||
|
|
* Created on: 8 <EFBFBD><EFBFBD><EFBFBD>. 2019 <EFBFBD>.
|
|||
|
|
* Author: titov
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#ifndef SOURCE_APPLICATION_SAFETY_ADDFAILURESETUP_H_
|
|||
|
|
#define SOURCE_APPLICATION_SAFETY_ADDFAILURESETUP_H_
|
|||
|
|
|
|||
|
|
#include "../ISetupStep.hh"
|
|||
|
|
|
|||
|
|
#include "../../processing/failure/FailureDiagnostics.hh"
|
|||
|
|
#include "../../systemic/IStatus.hh"
|
|||
|
|
|
|||
|
|
#include "../../units/LogicalEntities.hpp"
|
|||
|
|
|
|||
|
|
namespace application { namespace safety {
|
|||
|
|
|
|||
|
|
struct AddFailureSetupWithoutReset : public ISetupStep {
|
|||
|
|
|
|||
|
|
typedef processing::failure::FailureDiagnostics FD;
|
|||
|
|
|
|||
|
|
FD * diagnostic = nullptr;
|
|||
|
|
systemic::IStatus * failure_status = nullptr;
|
|||
|
|
|
|||
|
|
struct Links {
|
|||
|
|
Environment::StatusId failure_id; //!<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
|
Environment::Id diagnoster_id; //!<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct Setting {
|
|||
|
|
units::ErrorCode failure_id; //!<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
bool input( Environment & env );
|
|||
|
|
void build( Environment & env );
|
|||
|
|
|
|||
|
|
const Links & links;
|
|||
|
|
const Setting & setting;
|
|||
|
|
|
|||
|
|
AddFailureSetupWithoutReset( const Links & links, const Setting & setting ) : links(links), setting(setting) {}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#include "../../systemic/IFunctor.hh"
|
|||
|
|
|
|||
|
|
//with reset
|
|||
|
|
namespace application { namespace safety {
|
|||
|
|
|
|||
|
|
struct AddFailureSetupWithReset : public ISetupStep {
|
|||
|
|
|
|||
|
|
typedef processing::failure::FailureDiagnostics FD;
|
|||
|
|
|
|||
|
|
FD * diagnostic = nullptr;
|
|||
|
|
systemic::IStatus * failure_status = nullptr;
|
|||
|
|
|
|||
|
|
typedef systemic::IFunctor<bool> ResetFunction;
|
|||
|
|
ResetFunction * reset = nullptr;
|
|||
|
|
|
|||
|
|
struct Links {
|
|||
|
|
Environment::StatusId failure_id; //!<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
|
Environment::Id reset_id; //!<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
|
Environment::Id diagnoster_id; //!<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct Setting {
|
|||
|
|
units::ErrorCode failure_id; //!<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
bool input( Environment & env );
|
|||
|
|
void build( Environment & env );
|
|||
|
|
|
|||
|
|
const Links & links;
|
|||
|
|
const Setting & setting;
|
|||
|
|
|
|||
|
|
AddFailureSetupWithReset( const Links & links, const Setting & setting ) : links(links), setting(setting) {}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endif /* SOURCE_APPLICATION_SAFETY_ADDFAILURESETUP_H_ */
|