discoLight
Loading...
Searching...
No Matches
CommandQueue.h
Go to the documentation of this file.
1
31#ifndef COMMANDQUEUE_H_
32#define COMMANDQUEUE_H_
33#include <stdint.h>
34#include <queue> /* Required for the queue data structure.*/
35#include <mutex> /* Required for locking critical sections. */
36#include <semaphore.h> /* required for semaphores */
37
38namespace SWE4211RPi {
39
44{
48 uint32_t commandType;
52 uint32_t command;
56 uint32_t parameter1;
60 uint32_t parameter2;
61};
62
64private:
68 std::queue<CommandQueueEntry> commandQueueContents;
76 std::mutex queueMutex;
77
78public:
83
87 virtual ~CommandQueue();
88
93 bool hasItem();
94
100
106 void enqueue(CommandQueueEntry value);
107};
108
109}
110#endif /* COMMANDQUEUE_H_ */
Definition CommandQueue.h:63
virtual ~CommandQueue()
Definition CommandQueue.cpp:58
std::mutex queueMutex
Definition CommandQueue.h:76
CommandQueue()
Definition CommandQueue.cpp:42
void enqueue(CommandQueueEntry value)
Definition CommandQueue.cpp:133
bool hasItem()
Definition CommandQueue.cpp:115
CommandQueueEntry dequeue()
Definition CommandQueue.cpp:73
std::queue< CommandQueueEntry > commandQueueContents
Definition CommandQueue.h:68
sem_t queueCountSemaphore
Definition CommandQueue.h:72
Definition CommandQueue.h:44
uint32_t command
Definition CommandQueue.h:52
uint32_t parameter2
Definition CommandQueue.h:60
uint32_t commandType
Definition CommandQueue.h:48
uint32_t parameter1
Definition CommandQueue.h:56