Allow exclusive access to some of InstrumentDataBase's private methods to InstrumentBase.
More...
Allow exclusive access to some of InstrumentDataBase's private methods to InstrumentBase.
Definition at line 152 of file Instrument.h.
◆ InstrumentBaseOnlyType()
| constexpr DynExp::InstrumentDataBase::InstrumentBaseOnlyType::InstrumentBaseOnlyType |
( |
InstrumentDataBase & |
Parent | ) |
|
|
inlineconstexprprivatenoexcept |
◆ CloseQueue()
| void DynExp::InstrumentDataBase::InstrumentBaseOnlyType::CloseQueue |
( |
| ) |
|
|
inlineprivate |
◆ EnqueuePriorityTask()
| void DynExp::InstrumentDataBase::InstrumentBaseOnlyType::EnqueuePriorityTask |
( |
std::unique_ptr< TaskBase > && |
Task, |
|
|
bool |
CallFromInstrThread, |
|
|
bool |
NotifyReceiver |
|
) |
| |
|
inlineprivate |
Enqueues a task at the front of an instrument's task queue and notifies the instrument about the new task.
- Parameters
-
| Task | Task to enqueue, the queue takes ownership of the task. |
| CallFromInstrThread | Pass true if the instrument itself enqueues a task. This argument is forwarded to CheckQueueState(). |
| NotifyReceiver | Determines whether the instrument thread is notified that a new task has been enqueued. This is e.g. not desired when enqueuing update tasks in InstrumentBase::UpdateData(). |
Definition at line 167 of file Instrument.h.
◆ EnqueueTask()
| void DynExp::InstrumentDataBase::InstrumentBaseOnlyType::EnqueueTask |
( |
std::unique_ptr< TaskBase > && |
Task, |
|
|
bool |
CallFromInstrThread, |
|
|
bool |
NotifyReceiver |
|
) |
| |
|
inlineprivate |
Enqueues a task at the back of an instrument's task queue and notifies the instrument about the new task.
- Parameters
-
| Task | Task to enqueue, the queue takes ownership of the task. |
| CallFromInstrThread | Pass true if the instrument itself enqueues a task. This argument is forwarded to CheckQueueState(). |
| NotifyReceiver | Determines whether the instrument thread is notified that a new task has been enqueued. This is e.g. not desired when enqueuing update tasks in InstrumentBase::UpdateData(). |
Definition at line 166 of file Instrument.h.
◆ GetNewTaskNotifier()
| auto & DynExp::InstrumentDataBase::InstrumentBaseOnlyType::GetNewTaskNotifier |
( |
| ) |
|
|
inlineprivatenoexcept |
◆ IndicateException()
| void DynExp::InstrumentDataBase::InstrumentBaseOnlyType::IndicateException |
( |
| ) |
|
|
inlineprivatenoexcept |
Indicates to the main thread that an exception has happened in the instrument thread. Only performs atomic operations. Hence, this instrument data instance does not need to be locked for this function call.
Definition at line 164 of file Instrument.h.
◆ RemoveAllTasks()
| void DynExp::InstrumentDataBase::InstrumentBaseOnlyType::RemoveAllTasks |
( |
| ) |
|
|
inlineprivate |
Clears the instrument's task queue.
Definition at line 169 of file Instrument.h.
◆ RemoveAllTasksExceptFront()
| void DynExp::InstrumentDataBase::InstrumentBaseOnlyType::RemoveAllTasksExceptFront |
( |
| ) |
|
|
inlineprivate |
Clears the instrument's task queue but keeps the front task (the task with highest priority which is handled next).
Definition at line 170 of file Instrument.h.
◆ RemoveTaskFromQueue()
| void DynExp::InstrumentDataBase::InstrumentBaseOnlyType::RemoveTaskFromQueue |
( |
TaskQueueIteratorType & |
Task | ) |
|
|
inlineprivate |
Removes a task from the instrument's task queue and inserts it into the instrument's list of finished tasks if TaskBase::KeepFinishedTask() returns true.
- Parameters
-
| Task | Iterator to an enqueued task. |
Definition at line 168 of file Instrument.h.
◆ Reset()
| void DynExp::InstrumentDataBase::InstrumentBaseOnlyType::Reset |
( |
| ) |
|
|
inlineprivate |
◆ SetException()
| void DynExp::InstrumentDataBase::InstrumentBaseOnlyType::SetException |
( |
std::exception_ptr |
Exception | ) |
|
|
inlineprivatenoexcept |
◆ InstrumentBase
◆ InstrumentDataBase
◆ Parent
The documentation for this class was generated from the following file: