Files
qt6-migration-pipeline/external/tmsif/include/tmsif/msg/ScanCtrl.hpp
T
2026-10-23 16:13:31 +00:00

122 lines
4.3 KiB
C++

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// GENERATED CODE - do not edit (Generated by ddkit/genModelMsg)
//
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// ScanCtrl.hpp (rmodel-msg)
#pragma once
#include <tmsif/type/ScanCtrl.hpp>
#include <tmsif/tmsif_export.hpp>
#include <string>
#include <vector>
#include <map>
namespace M_ScanCtrl {
//
// Service
//
/// Scan Control Service interface.
/// Contains operations that a client can command the Scan Control Service to perform.
///
/// The default use case of this interface is that a scan can be conducted around an assignment position
/// (e.g. assignment of a mount). All scan pattern positions are w.r.t. to the assigned position (e.g.
/// scan sector is around assignment position).
///
/// In other use cases, both sides of an interface have to mutually agree upon the reference coordinate
/// frame for scans.
/// @startuml "ScanCtrl State Chart"
/// hide empty description
/// top to bottom direction
///
/// skinparam StateBorderColor<<internalState>> dimgray
/// skinparam StateBackgroundColor<<internalState>> white
/// skinparam StateBorderColor<<ctrlState>> dimgray
/// skinparam StateBackgroundColor<<ctrlState>> lightcyan
/// skinparam StateBorderColor<<searchState>> dimgray
/// skinparam StateBackgroundColor<<searchState>> thistle
/// skinparam StateBackgroundColor<<sysBorder>> white
/// skinparam StateBorderColor<<sysBorder>> black
/// skinparam NoteFontSize<<sysBorder>> 30
/// skinparam StateBorderColor<<sysBorder>> black
///
/// skinparam StateBorderColor<<connector>> transparent
/// skinparam StateBackgroundColor<<connector>> lightblue
///
/// legend top left
/// <back:thistle><font size=20>ScanCtrlMode
/// endlegend
///
///
///
/// state SUPERORDINATE_DEVICE_MODE<<ctrlState>>{
/// note "Transitions are taken and states are reported\nregardless of whether the service supports these\nsearch features." as N3
///
/// SUPERORDINATE_DEVICE_MODE : This state represents the superordinate device state in which a scan is performed (e.g. Assignment control state of mount).
/// SUPERORDINATE_DEVICE_MODE : ScanCtrlMode shall be <back:thistle>Off</back> outside this state.
///
///
/// [*] --> OFF
/// SUPERORDINATE_DEVICE_MODE --> INIT : CmdScanAction[Reset]
/// SUPERORDINATE_DEVICE_MODE --> OFF : CmdScanAction[Stop]
///
///
/// state "OFF" as OFF <<searchState>>
/// OFF --> INIT : CmdScanAction[Run]
///
/// state "INIT" as INIT <<searchState>>
/// INIT --> RUNNING : evReachedStartPos
/// state "RUNNING" as RUNNING <<searchState>>
/// RUNNING --> PAUSED : CmdScanAction[Pause]
///
/// state "PAUSED" as PAUSED <<searchState>>
/// PAUSED --> RUNNING : CmdScanAction[Run]
///
/// INIT : <b>Device initializes scan
/// RUNNING : <b>Device scans with given scan pattern
/// PAUSED : <b>Scan is paused.
/// PAUSED : <b>E.g. needed if operator wants to pause and search manually.
/// }
///
///
///
/// @enduml
class TMSIF_EXPORT IService {
public:
virtual ~IService();
virtual void CmdScanPattern(std::string const& PatternName, M_ScanCtrl::ScanPatternOptionalType const& ScanPattern);
virtual void CmdScanAction(M_ScanCtrl::ScanCtrlMode::Type Action);
virtual void ConfigStoreScanPattern(std::string const& KeyPatternName, M_ScanCtrl::ScanPatternType const& ScanPattern, bool IsRemoved);
virtual void CmdDeleteScanPattern(std::string const& PatternName);
};
//
// Client
//
/// Scan Control Client interface.
/// Contains operations reported by the Scan Control Service.
class TMSIF_EXPORT IClient {
public:
virtual ~IClient();
virtual void ReportScanCtrlSettings(M_ScanCtrl::ScanCtrlSettingsType const& Settings);
virtual void ReportScanCtrlStatus(M_ScanCtrl::ScanCtrlStatusType const& Status, bool IsRemoved);
virtual void ReportStoredScanPattern(std::string const& KeyPatternName, M_ScanCtrl::ScanPatternType const& ScanPattern, bool IsRemoved);
virtual void ReportAssignmentSearchOffset(M_Common::PositionType const& Offset);
};
} // namespace M_ScanCtrl