MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/UMLibrary/application/safety/AddFailureSetup.hh

87 lines
2.1 KiB
C++

/*
* AddFailureSetup.h
*
* Created on: 8 îêò. 2019 ã.
* 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; //!<Óñëîâèå âîçíèêíîâåíèÿ îòêàçà.
Environment::Id diagnoster_id; //!<Ïðîöåññ äèàãíîñòèêè îòêàçîâ.
};
struct Setting {
units::ErrorCode failure_id; //!<Èäåíòèôèêàòîð îòêàçà.
};
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; //!<Óñëîâèå âîçíèêíîâåíèÿ îòêàçà.
Environment::Id reset_id; //!<Ôóíêöèÿ ñáîðñà îòêàçà.
Environment::Id diagnoster_id; //!<Ïðîöåññ äèàãíîñòèêè îòêàçîâ.
};
struct Setting {
units::ErrorCode failure_id; //!<Èäåíòèôèêàòîð îòêàçà.
};
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_ */