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
38
namespace
SWE4211RPi {
39
43
struct
CommandQueueEntry
44
{
48
uint32_t
commandType
;
52
uint32_t
command
;
56
uint32_t
parameter1
;
60
uint32_t
parameter2
;
61
};
62
63
class
CommandQueue
{
64
private
:
68
std::queue<CommandQueueEntry>
commandQueueContents
;
72
sem_t
queueCountSemaphore
;
76
std::mutex
queueMutex
;
77
78
public
:
82
CommandQueue
();
83
87
virtual
~CommandQueue
();
88
93
bool
hasItem
();
94
99
CommandQueueEntry
dequeue
();
100
106
void
enqueue
(
CommandQueueEntry
value);
107
};
108
109
}
110
#endif
/* COMMANDQUEUE_H_ */
SWE4211RPi::CommandQueue
Definition
CommandQueue.h:63
SWE4211RPi::CommandQueue::~CommandQueue
virtual ~CommandQueue()
Definition
CommandQueue.cpp:58
SWE4211RPi::CommandQueue::queueMutex
std::mutex queueMutex
Definition
CommandQueue.h:76
SWE4211RPi::CommandQueue::CommandQueue
CommandQueue()
Definition
CommandQueue.cpp:42
SWE4211RPi::CommandQueue::enqueue
void enqueue(CommandQueueEntry value)
Definition
CommandQueue.cpp:133
SWE4211RPi::CommandQueue::hasItem
bool hasItem()
Definition
CommandQueue.cpp:115
SWE4211RPi::CommandQueue::dequeue
CommandQueueEntry dequeue()
Definition
CommandQueue.cpp:73
SWE4211RPi::CommandQueue::commandQueueContents
std::queue< CommandQueueEntry > commandQueueContents
Definition
CommandQueue.h:68
SWE4211RPi::CommandQueue::queueCountSemaphore
sem_t queueCountSemaphore
Definition
CommandQueue.h:72
SWE4211RPi::CommandQueueEntry
Definition
CommandQueue.h:44
SWE4211RPi::CommandQueueEntry::command
uint32_t command
Definition
CommandQueue.h:52
SWE4211RPi::CommandQueueEntry::parameter2
uint32_t parameter2
Definition
CommandQueue.h:60
SWE4211RPi::CommandQueueEntry::commandType
uint32_t commandType
Definition
CommandQueue.h:48
SWE4211RPi::CommandQueueEntry::parameter1
uint32_t parameter1
Definition
CommandQueue.h:56
src
queuing
CommandQueue.h
Generated by
1.9.8