Merge branch 'mueller/master' into mueller/project/distribDatapool
This commit is contained in:
commit
b7411591a1
@ -4,15 +4,14 @@
|
||||
|
||||
ChildHandlerBase::ChildHandlerBase(object_id_t setObjectId,
|
||||
object_id_t deviceCommunication, CookieIF * cookie,
|
||||
uint8_t setDeviceSwitch, object_id_t hkDestination,
|
||||
uint32_t thermalStatePoolId, uint32_t thermalRequestPoolId,
|
||||
object_id_t hkDestination, uint32_t thermalStatePoolId,
|
||||
uint32_t thermalRequestPoolId,
|
||||
object_id_t parent,
|
||||
FailureIsolationBase* customFdir, size_t cmdQueueSize) :
|
||||
DeviceHandlerBase(setObjectId, deviceCommunication, cookie,
|
||||
(customFdir == nullptr? &childHandlerFdir : customFdir),
|
||||
cmdQueueSize),
|
||||
parentId(parent), childHandlerFdir(setObjectId) {
|
||||
this->setDeviceSwitch(setDeviceSwitch);
|
||||
this->setHkDestination(hkDestination);
|
||||
this->setThermalStateRequestPoolIds(thermalStatePoolId,
|
||||
thermalRequestPoolId);
|
||||
|
@ -7,9 +7,9 @@
|
||||
class ChildHandlerBase: public DeviceHandlerBase {
|
||||
public:
|
||||
ChildHandlerBase(object_id_t setObjectId, object_id_t deviceCommunication,
|
||||
CookieIF * cookie, uint8_t setDeviceSwitch,
|
||||
object_id_t hkDestination, uint32_t thermalStatePoolId,
|
||||
uint32_t thermalRequestPoolId, object_id_t parent = objects::NO_OBJECT,
|
||||
CookieIF * cookie, object_id_t hkDestination,
|
||||
uint32_t thermalStatePoolId, uint32_t thermalRequestPoolId,
|
||||
object_id_t parent = objects::NO_OBJECT,
|
||||
FailureIsolationBase* customFdir = nullptr, size_t cmdQueueSize = 20);
|
||||
virtual ~ChildHandlerBase();
|
||||
|
||||
|
@ -63,10 +63,6 @@ void DeviceHandlerBase::setThermalStateRequestPoolIds(
|
||||
}
|
||||
|
||||
|
||||
void DeviceHandlerBase::setDeviceSwitch(uint8_t deviceSwitch) {
|
||||
this->deviceSwitch = deviceSwitch;
|
||||
}
|
||||
|
||||
DeviceHandlerBase::~DeviceHandlerBase() {
|
||||
delete comCookie;
|
||||
if (defaultFDIRUsed) {
|
||||
@ -168,12 +164,8 @@ ReturnValue_t DeviceHandlerBase::initialize() {
|
||||
}
|
||||
|
||||
result = healthHelper.initialize();
|
||||
if (result == RETURN_OK) {
|
||||
healthHelperActive = true;
|
||||
}
|
||||
else {
|
||||
sif::warning << "DeviceHandlerBase::initialize: Health Helper "
|
||||
"initialization failure." << std::endl;
|
||||
if (result != RETURN_OK) {
|
||||
return result;
|
||||
}
|
||||
|
||||
result = modeHelper.initialize();
|
||||
@ -250,12 +242,10 @@ void DeviceHandlerBase::readCommandQueue() {
|
||||
return;
|
||||
}
|
||||
|
||||
if(healthHelperActive) {
|
||||
result = healthHelper.handleHealthCommand(&command);
|
||||
if (result == RETURN_OK) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
result = modeHelper.handleModeCommand(&command);
|
||||
if (result == RETURN_OK) {
|
||||
@ -1032,9 +1022,7 @@ void DeviceHandlerBase::getMode(Mode_t* mode, Submode_t* submode) {
|
||||
}
|
||||
|
||||
void DeviceHandlerBase::setToExternalControl() {
|
||||
if(healthHelperActive) {
|
||||
healthHelper.setHealth(EXTERNAL_CONTROL);
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceHandlerBase::announceMode(bool recursive) {
|
||||
@ -1054,24 +1042,11 @@ void DeviceHandlerBase::missedReply(DeviceCommandId_t id) {
|
||||
}
|
||||
|
||||
HasHealthIF::HealthState DeviceHandlerBase::getHealth() {
|
||||
if(healthHelperActive) {
|
||||
return healthHelper.getHealth();
|
||||
}
|
||||
else {
|
||||
sif::warning << "DeviceHandlerBase::getHealth: Health helper not active"
|
||||
<< std::endl;
|
||||
return HasHealthIF::HEALTHY;
|
||||
}
|
||||
}
|
||||
|
||||
ReturnValue_t DeviceHandlerBase::setHealth(HealthState health) {
|
||||
if(healthHelperActive) {
|
||||
healthHelper.setHealth(health);
|
||||
}
|
||||
else {
|
||||
sif::warning << "DeviceHandlerBase::getHealth: Health helper not active"
|
||||
<< std::endl;
|
||||
}
|
||||
return HasReturnvaluesIF::RETURN_OK;
|
||||
}
|
||||
|
||||
@ -1391,18 +1366,6 @@ LocalDataPoolManager* DeviceHandlerBase::getHkManagerHandle() {
|
||||
return &hkManager;
|
||||
}
|
||||
|
||||
ReturnValue_t DeviceHandlerBase::addDataSet(sid_t sid) {
|
||||
return HasReturnvaluesIF::RETURN_OK;
|
||||
}
|
||||
|
||||
ReturnValue_t DeviceHandlerBase::removeDataSet(sid_t sid) {
|
||||
return HasReturnvaluesIF::RETURN_OK;
|
||||
}
|
||||
|
||||
ReturnValue_t DeviceHandlerBase::changeCollectionInterval(sid_t sid,
|
||||
dur_seconds_t newInterval) {
|
||||
return HasReturnvaluesIF::RETURN_OK;
|
||||
}
|
||||
|
||||
ReturnValue_t DeviceHandlerBase::initializeAfterTaskCreation() {
|
||||
// In this function, the task handle should be valid if the task
|
||||
|
@ -108,7 +108,6 @@ public:
|
||||
CookieIF * comCookie, FailureIsolationBase* fdirInstance = nullptr,
|
||||
size_t cmdQueueSize = 20);
|
||||
|
||||
void setDeviceSwitch(uint8_t deviceSwitch);
|
||||
void setHkDestination(object_id_t hkDestination);
|
||||
void setThermalStateRequestPoolIds(uint32_t thermalStatePoolId,
|
||||
uint32_t thermalRequestPoolId);
|
||||
@ -487,11 +486,6 @@ protected:
|
||||
/** Get the HK manager object handle */
|
||||
virtual LocalDataPoolManager* getHkManagerHandle() override;
|
||||
|
||||
virtual ReturnValue_t addDataSet(sid_t sid) override;
|
||||
virtual ReturnValue_t removeDataSet(sid_t sid) override;
|
||||
virtual ReturnValue_t changeCollectionInterval(sid_t sid,
|
||||
dur_seconds_t newInterval) override;
|
||||
|
||||
/**
|
||||
* @brief Hook function for child handlers which is called once per
|
||||
* performOperation(). Default implementation is empty.
|
||||
@ -610,7 +604,6 @@ protected:
|
||||
|
||||
/** Health helper for HasHealthIF */
|
||||
HealthHelper healthHelper;
|
||||
bool healthHelperActive = false;
|
||||
/** Mode helper for HasModesIF */
|
||||
ModeHelper modeHelper;
|
||||
/** Parameter helper for ReceivesParameterMessagesIF */
|
||||
@ -1079,13 +1072,6 @@ private:
|
||||
*/
|
||||
Submode_t transitionSourceSubMode;
|
||||
|
||||
/**
|
||||
* the switch of the device
|
||||
*
|
||||
* for devices using two switches override getSwitches()
|
||||
*/
|
||||
uint8_t deviceSwitch;
|
||||
|
||||
/**
|
||||
* read the command queue
|
||||
*/
|
||||
|
@ -39,10 +39,19 @@ void HealthHelper::setParentQeueue(MessageQueueId_t parentQueue) {
|
||||
ReturnValue_t HealthHelper::initialize() {
|
||||
healthTable = objectManager->get<HealthTableIF>(objects::HEALTH_TABLE);
|
||||
eventSender = objectManager->get<EventReportingProxyIF>(objectId);
|
||||
// TODO: Better returnvalues
|
||||
if ((healthTable == NULL) || eventSender == NULL) {
|
||||
return HasReturnvaluesIF::RETURN_FAILED;
|
||||
|
||||
if (healthTable == nullptr) {
|
||||
sif::error << "HealthHelper::initialize: Health table object needs"
|
||||
"to be created in factory." << std::endl;
|
||||
return ObjectManagerIF::CHILD_INIT_FAILED;
|
||||
}
|
||||
|
||||
if(eventSender == nullptr) {
|
||||
sif::error << "HealthHelper::initialize: Owner has to implement "
|
||||
"ReportingProxyIF." << std::endl;
|
||||
return ObjectManagerIF::CHILD_INIT_FAILED;
|
||||
}
|
||||
|
||||
ReturnValue_t result = healthTable->registerObject(objectId,
|
||||
HasHealthIF::HEALTHY);
|
||||
if (result != HasReturnvaluesIF::RETURN_OK) {
|
||||
|
Loading…
Reference in New Issue
Block a user