Motion Master
Loading...
Searching...
No Matches
universal_machine.h
Go to the documentation of this file.
1#pragma once
2
4#include "machine.h"
5
6class UniversalMachine : public Machine {
7 public:
9 VirtualDeviceManager& vdm, ctpl::thread_pool& thread_pool,
10 Notifier& notifier,
12 outgoing_machine_message_queue);
13
14 void execute(uint64_t pending_signals) override;
15 void abort_client_requests(const std::string& connection_id) override;
16 bool done() override;
17};
Machine(VirtualDeviceManager &vdm, ctpl::thread_pool &thread_pool, Notifier &notifier, mm::core::containers::ThreadSafeQueue< OutgoingMachineMessage > &outgoing_machine_message_queue)
Definition machine.cc:7
Definition notifier.h:9
bool done() override
Check if all of the machine started processes are done (including the Command Workers)
Definition universal_machine.cc:32
void abort_client_requests(const std::string &connection_id) override
Abort all of the requests a certain client has issues.
Definition universal_machine.cc:26
void execute(uint64_t pending_signals) override
Execute the machine.
Definition universal_machine.cc:13
UniversalMachine(VirtualDeviceManager &vdm, ctpl::thread_pool &thread_pool, Notifier &notifier, mm::core::containers::ThreadSafeQueue< OutgoingMachineMessage > &outgoing_machine_message_queue)
Definition universal_machine.cc:6
Definition virtual_device_manager.h:16
Thread-safe FIFO queue with optional capacity limit.
Definition thread_safe_queue.h:23