AgIsoStack++
A control-function-focused implementation of the major ISOBUS and J1939 protocols
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
isobus::TaskControllerOptions Class Reference

A helper class to assign TC server options. You can use this by doing something like this: TaskControllerServer::TaskControllerOptions().with_documentation().with_tc_geo_with_position_based_control(); Or you can set the settings yourself, manually. More...

#include <isobus_task_controller_server_options.hpp>

Public Member Functions

 TaskControllerOptions ()=default
 Constructor for a TC server options helper class.
 
 TaskControllerOptions (const TaskControllerOptions &)=default
 Copy constructor for a TC server options helper class.
 
TaskControllerOptionsoperator= (const TaskControllerOptions &)=default
 Assignment operator for a TC server options helper class.
 
TaskControllerOptions with_documentation (bool supported=true)
 Alters the settings object to indicate you want to support documentation.
 
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 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.
 
TaskControllerOptions with_peer_control_assignment (bool supported=true) const
 Alters the settings object to indicate you want to support peer control assignment.
 
TaskControllerOptions with_implement_section_control (bool supported=true) const
 Alters the settings object to indicate you want to support implement section control.
 
void set_settings (bool supportsDocumentation, bool supportsTCGEOWithoutPositionBasedControl, bool supportsTCGEOWithPositionBasedControl, bool supportsPeerControlAssignment, bool supportsImplementSectionControl)
 Sets the settings object to the provided options bitfield.
 
std::uint8_t get_bitfield () const
 Gets the options bitfield that was set by the user.
 

Private Attributes

bool optionDocumentation = false
 Bit 0, defines whether or not the TC supports documentation.
 
bool optionTCGEOWithoutPositionBasedControl = false
 Bit 1, defines whether or not the TC supports tc-geo without position based control.
 
bool optionTCGEOWithPositionBasedControl = false
 Bit 2, defines whether or not the TC supports tc-geo with position based control.
 
bool optionPeerControlAssignment = false
 Bit 3, defines whether or not the TC supports peer control assignment.
 
bool optionImplementSectionControl = false
 Bit 4, defines whether or not the TC supports implement section control.
 

Detailed Description

A helper class to assign TC server options. You can use this by doing something like this: TaskControllerServer::TaskControllerOptions().with_documentation().with_tc_geo_with_position_based_control(); Or you can set the settings yourself, manually.

Definition at line 20 of file isobus_task_controller_server_options.hpp.

Member Function Documentation

◆ get_bitfield()

std::uint8_t isobus::TaskControllerOptions::get_bitfield ( ) const

Gets the options bitfield that was set by the user.

Returns
The options bitfield that was set by the user.

Definition at line 62 of file isobus_task_controller_server_options.cpp.

◆ operator=()

TaskControllerOptions & isobus::TaskControllerOptions::operator= ( const TaskControllerOptions & )
default

Assignment operator for a TC server options helper class.

Returns
A reference to the current object.

◆ set_settings()

void isobus::TaskControllerOptions::set_settings ( bool supportsDocumentation,
bool supportsTCGEOWithoutPositionBasedControl,
bool supportsTCGEOWithPositionBasedControl,
bool supportsPeerControlAssignment,
bool supportsImplementSectionControl )

Sets the settings object to the provided options bitfield.

Parameters
[in]supportsDocumentationWhether or not the TC supports documentation.
[in]supportsTCGEOWithoutPositionBasedControlWhether or not the TC supports tc-geo without position based control.
[in]supportsTCGEOWithPositionBasedControlWhether or not the TC supports tc-geo with position based control.
[in]supportsPeerControlAssignmentWhether or not the TC supports peer control assignment.
[in]supportsImplementSectionControlWhether or not the TC supports implement section control.

Definition at line 48 of file isobus_task_controller_server_options.cpp.

◆ with_documentation()

TaskControllerOptions isobus::TaskControllerOptions::with_documentation ( bool supported = true)

Alters the settings object to indicate you want to support documentation.

Parameters
[in]supportedWhether or not the TC supports documentation.
Returns
An updated settings object.

Definition at line 13 of file isobus_task_controller_server_options.cpp.

◆ with_implement_section_control()

TaskControllerOptions isobus::TaskControllerOptions::with_implement_section_control ( bool supported = true) const

Alters the settings object to indicate you want to support implement section control.

Parameters
[in]supportedWhether or not the TC supports implement section control.
Returns
An updated settings object.

Definition at line 41 of file isobus_task_controller_server_options.cpp.

◆ with_peer_control_assignment()

TaskControllerOptions isobus::TaskControllerOptions::with_peer_control_assignment ( bool supported = true) const

Alters the settings object to indicate you want to support peer control assignment.

Parameters
[in]supportedWhether or not the TC supports peer control assignment.
Returns
An updated settings object.

Definition at line 34 of file isobus_task_controller_server_options.cpp.

◆ with_tc_geo_with_position_based_control()

TaskControllerOptions isobus::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.

Parameters
[in]supportedWhether or not the TC supports tc-geo with position based control.
Returns
An updated settings object.

Definition at line 27 of file isobus_task_controller_server_options.cpp.

◆ with_tc_geo_without_position_based_control()

TaskControllerOptions isobus::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.

Parameters
[in]supportedWhether or not the TC supports tc-geo without position based control.
Returns
An updated settings object.

Definition at line 20 of file isobus_task_controller_server_options.cpp.

Member Data Documentation

◆ optionDocumentation

bool isobus::TaskControllerOptions::optionDocumentation = false
private

Bit 0, defines whether or not the TC supports documentation.

Definition at line 76 of file isobus_task_controller_server_options.hpp.

◆ optionImplementSectionControl

bool isobus::TaskControllerOptions::optionImplementSectionControl = false
private

Bit 4, defines whether or not the TC supports implement section control.

Definition at line 80 of file isobus_task_controller_server_options.hpp.

◆ optionPeerControlAssignment

bool isobus::TaskControllerOptions::optionPeerControlAssignment = false
private

Bit 3, defines whether or not the TC supports peer control assignment.

Definition at line 79 of file isobus_task_controller_server_options.hpp.

◆ optionTCGEOWithoutPositionBasedControl

bool isobus::TaskControllerOptions::optionTCGEOWithoutPositionBasedControl = false
private

Bit 1, defines whether or not the TC supports tc-geo without position based control.

Definition at line 77 of file isobus_task_controller_server_options.hpp.

◆ optionTCGEOWithPositionBasedControl

bool isobus::TaskControllerOptions::optionTCGEOWithPositionBasedControl = false
private

Bit 2, defines whether or not the TC supports tc-geo with position based control.

Definition at line 78 of file isobus_task_controller_server_options.hpp.


The documentation for this class was generated from the following files: