evil hidden bug found.
CSB uses CommandMessageIF now
This commit is contained in:
@ -1,7 +1,46 @@
|
||||
#include <framework/housekeeping/HousekeepingMessage.h>
|
||||
#include <cstring>
|
||||
|
||||
HousekeepingMessage::HousekeepingMessage(MessageQueueMessage *message):
|
||||
CommandMessageBase (message) {}
|
||||
HousekeepingMessage::HousekeepingMessage(MessageQueueMessageIF* message):
|
||||
CommandMessageBase(message) {
|
||||
}
|
||||
|
||||
HousekeepingMessage::~HousekeepingMessage() {}
|
||||
HousekeepingMessage::~HousekeepingMessage() {
|
||||
}
|
||||
|
||||
void HousekeepingMessage::setHkReportMessage(sid_t sid,
|
||||
store_address_t storeId) {
|
||||
CommandMessageBase::setCommand(HK_REPORT);
|
||||
setSid(sid);
|
||||
setParameter(storeId.raw);
|
||||
}
|
||||
|
||||
size_t HousekeepingMessage::getMinimumMessageSize() const {
|
||||
return HK_MESSAGE_SIZE;
|
||||
}
|
||||
|
||||
size_t HousekeepingMessage::getMaximumMessageSize() const {
|
||||
return MessageQueueMessage::MAX_MESSAGE_SIZE;
|
||||
}
|
||||
|
||||
void HousekeepingMessage::clear() {
|
||||
// clear IPC store where it is needed.
|
||||
}
|
||||
|
||||
sid_t HousekeepingMessage::getSid() const {
|
||||
sid_t sid;
|
||||
std::memcpy(&sid.raw, CommandMessageBase::getData(), sizeof(sid.raw));
|
||||
return sid;
|
||||
}
|
||||
|
||||
uint8_t* HousekeepingMessage::getData() {
|
||||
return internalMessage->getBuffer() + sizeof(sid_t);
|
||||
}
|
||||
|
||||
void HousekeepingMessage::setParameter(uint32_t parameter) {
|
||||
memcpy(getData(), ¶meter, sizeof(parameter));
|
||||
}
|
||||
|
||||
void HousekeepingMessage::setSid(sid_t sid) {
|
||||
std::memcpy(CommandMessageBase::getData(), &sid.raw, sizeof(sid.raw));
|
||||
}
|
||||
|
Reference in New Issue
Block a user