diff --git a/ipc/MessageQueueIF.h b/ipc/MessageQueueIF.h index c67f3870..480019eb 100644 --- a/ipc/MessageQueueIF.h +++ b/ipc/MessageQueueIF.h @@ -2,6 +2,8 @@ #define FRAMEWORK_IPC_MESSAGEQUEUEIF_H_ // COULDDO: We could support blocking calls +// semaphores are being implemented, which makes this idea even more iteresting. + /** * @defgroup message_queue Message Queue diff --git a/ipc/MessageQueueSenderIF.h b/ipc/MessageQueueSenderIF.h index 6eb7733d..ae66cd12 100644 --- a/ipc/MessageQueueSenderIF.h +++ b/ipc/MessageQueueSenderIF.h @@ -16,7 +16,7 @@ typedef uint32_t MessageQueueId_t; class MessageQueueSenderIF { public: - static const MessageQueueId_t NO_QUEUE = 0; + static const MessageQueueId_t NO_QUEUE = 0xffffffff; virtual ~MessageQueueSenderIF() {} diff --git a/memory/MemoryHelper.cpp b/memory/MemoryHelper.cpp index 2a830c5a..b078d6ec 100644 --- a/memory/MemoryHelper.cpp +++ b/memory/MemoryHelper.cpp @@ -33,15 +33,6 @@ ReturnValue_t MemoryHelper::handleMemoryCommand(CommandMessage* message) { } } -ReturnValue_t MemoryHelper::initialize() { - ipcStore = objectManager->get(objects::IPC_STORE); - if (ipcStore != NULL) { - return RETURN_OK; - } else { - return RETURN_FAILED; - } -} - void MemoryHelper::completeLoad(ReturnValue_t errorCode, const uint8_t* dataToCopy, const uint32_t size, uint8_t* copyHere) { busy = false; @@ -185,11 +176,18 @@ void MemoryHelper::handleMemoryCheckOrDump(CommandMessage* message) { } ReturnValue_t MemoryHelper::initialize(MessageQueueIF* queueToUse_) { - if(queueToUse_!=NULL){ - this->queueToUse = queueToUse_; - }else{ - return MessageQueueIF::NO_QUEUE; + if(queueToUse_ == nullptr) { + return HasReturnvaluesIF::RETURN_FAILED; } - + this->queueToUse = queueToUse_; return initialize(); } + +ReturnValue_t MemoryHelper::initialize() { + ipcStore = objectManager->get(objects::IPC_STORE); + if (ipcStore != nullptr) { + return RETURN_OK; + } else { + return RETURN_FAILED; + } +} diff --git a/tcdistribution/PUSDistributor.cpp b/tcdistribution/PUSDistributor.cpp index f4764c4e..bcf6d571 100644 --- a/tcdistribution/PUSDistributor.cpp +++ b/tcdistribution/PUSDistributor.cpp @@ -4,15 +4,13 @@ #include #include -PUSDistributor::PUSDistributor(uint16_t setApid, object_id_t setObjectId, object_id_t setPacketSource) : - TcDistributor(setObjectId), checker(setApid), verifyChannel(), currentPacket(), tcStatus( - RETURN_FAILED), packetSource(setPacketSource) { +PUSDistributor::PUSDistributor(uint16_t setApid, object_id_t setObjectId, + object_id_t setPacketSource) : + TcDistributor(setObjectId), checker(setApid), verifyChannel(), + currentPacket(), tcStatus(RETURN_FAILED), + packetSource(setPacketSource) {} -} - -PUSDistributor::~PUSDistributor() { - -} +PUSDistributor::~PUSDistributor() {} iterator_t PUSDistributor::selectDestination() { // debug << "PUSDistributor::handlePacket received: " << this->current_packet_id.store_index << ", " << this->current_packet_id.packet_index << std::endl; @@ -45,18 +43,17 @@ iterator_t PUSDistributor::selectDestination() { //} ReturnValue_t PUSDistributor::registerService(AcceptsTelecommandsIF* service) { - ReturnValue_t returnValue = RETURN_OK; - bool errorCode = true; uint16_t serviceId = service->getIdentifier(); //info << "Service ID: " << (int)serviceId << std::endl; MessageQueueId_t queue = service->getRequestQueue(); - errorCode = this->queueMap.insert( - std::pair(serviceId, queue)).second; - if (errorCode == false) { + auto returnPair = queueMap.emplace(serviceId, queue); + if (not returnPair.second) { //TODO Return Code - returnValue = MessageQueueIF::NO_QUEUE; + sif::error << "PUSDistributor::registerService: Service ID already" + "exists in map." << std::endl; + return HasReturnvaluesIF::RETURN_FAILED; } - return returnValue; + return HasReturnvaluesIF::RETURN_OK; } MessageQueueId_t PUSDistributor::getRequestQueue() {