AgIsoStack++
A control-function-focused implementation of the major ISOBUS and J1939 protocols
Loading...
Searching...
No Matches
isobus_task_controller_server_options.hpp
Go to the documentation of this file.
1//================================================================================================
8//================================================================================================
9#ifndef ISOBUS_TASK_CONTROLLER_SERVER_OPTIONS_HPP
10#define ISOBUS_TASK_CONTROLLER_SERVER_OPTIONS_HPP
11
12#include <cstdint>
13
14namespace isobus
15{
21 {
22 public:
25
28
32
36 TaskControllerOptions with_documentation(bool supported = true);
37
42
47
51 TaskControllerOptions with_peer_control_assignment(bool supported = true) const;
52
56 TaskControllerOptions with_implement_section_control(bool supported = true) const;
57
64 void set_settings(
65 bool supportsDocumentation,
66 bool supportsTCGEOWithoutPositionBasedControl,
67 bool supportsTCGEOWithPositionBasedControl,
68 bool supportsPeerControlAssignment,
69 bool supportsImplementSectionControl);
70
73 std::uint8_t get_bitfield() const;
74
75 private:
76 bool optionDocumentation = false;
81 };
82} // namespace isobus
83#endif // ISOBUS_TASK_CONTROLLER_SERVER_OPTIONS_HPP
A helper class to assign TC server options. You can use this by doing something like this: TaskContro...
bool optionTCGEOWithPositionBasedControl
Bit 2, defines whether or not the TC supports tc-geo with position based control.
bool optionPeerControlAssignment
Bit 3, defines whether or not the TC supports peer control assignment.
bool optionDocumentation
Bit 0, defines whether or not the TC supports documentation.
void set_settings(bool supportsDocumentation, bool supportsTCGEOWithoutPositionBasedControl, bool supportsTCGEOWithPositionBasedControl, bool supportsPeerControlAssignment, bool supportsImplementSectionControl)
Sets the settings object to the provided options bitfield.
TaskControllerOptions()=default
Constructor for a TC server options helper class.
TaskControllerOptions with_implement_section_control(bool supported=true) const
Alters the settings object to indicate you want to support implement section control.
TaskControllerOptions with_tc_geo_without_position_based_control(bool supported=true) const
Alters the settings object to indicate you want to support tc-geo without position based control.
TaskControllerOptions(const TaskControllerOptions &)=default
Copy constructor for a TC server options helper class.
TaskControllerOptions with_peer_control_assignment(bool supported=true) const
Alters the settings object to indicate you want to support peer control assignment.
bool optionTCGEOWithoutPositionBasedControl
Bit 1, defines whether or not the TC supports tc-geo without position based control.
bool optionImplementSectionControl
Bit 4, defines whether or not the TC supports implement section control.
TaskControllerOptions with_documentation(bool supported=true)
Alters the settings object to indicate you want to support documentation.
TaskControllerOptions with_tc_geo_with_position_based_control(bool supported=true) const
Alters the settings object to indicate you want to support tc-geo with position based control.
std::uint8_t get_bitfield() const
Gets the options bitfield that was set by the user.
TaskControllerOptions & operator=(const TaskControllerOptions &)=default
Assignment operator for a TC server options helper class.
This namespace encompasses all of the ISO11783 stack's functionality to reduce global namespace pollu...