VR-Engage  2.2
Loading...
Searching...
No Matches
rfxSensorListMessage.h
Go to the documentation of this file.
1// ******************************************************************************
2// ** Copyright (c) 2025 MAK Technologies
3// ** All rights reserved.
4// ******************************************************************************
5
6//! \file rfxSensorListMessage.h
7//! \brief Defines the request and response messages for radar sensor configuration queries
8//! \ingroup vreRadarFxShared
9//!
10//! This file contains message classes for requesting the list of configured radar
11//! sensors available on the RadarFX server, and receiving the sensor list response.
12//! Applications use these messages to discover what radar systems are available for
13//! generating radar imagery.
14
15
16#pragma once
17
18#include "export.h"
19#include "rfxMessage.h"
20
21#include <vlutil/vlString.h>
22#include <matrix/vlVector.h>
23
24#include <vector>
25#include <string>
26
27
28namespace makRadarFx
29{
30//! \brief Request message for radar sensor configuration list
31//!
32//! This class encapsulates a request for the list of radar sensor configurations
33//! that are available on the RadarFX server. Different sensor configurations have
34//! different characteristics such as frequencies, resolutions, and capabilities.
35//! Applications need to know what sensor systems are available before requesting
36//! radar imagery.
38{
39public:
40 //! \brief Default constructor
41 //!
42 //! Initializes a new sensor list request message
44
45 //! \brief Virtual destructor
47
48 //! \brief size of the message
49 virtual int messageSize();
50 //! \brief decode a message. Used by the factory
51 static DtBaseMessage* decode(unsigned char* buffer, int length);
52 //! \brief clone a message. Caller of function is responsible managing this memory
53 virtual DtBaseMessage* clone();
54
55protected:
56 virtual void serialize(DtStreamWriter& writer);
57 virtual void deserialize(DtStreamReader& reader);
58};
59
60
61//! \brief Response message containing the list of available radar sensor configurations
62//!
63//! This class encapsulates the response to a sensor list request, providing
64//! a list of all radar sensor configurations available on the RadarFX server.
65//! Each sensor configuration has a unique name that can be used when requesting
66//! radar imagery to specify which sensor characteristics should be used.
68{
69public:
70 //! \brief Default constructor
71 //!
72 //! Initializes a new sensor list response message with an empty sensor list
74
75 //! \brief Virtual destructor
77
78 //! \brief Sets the list of available sensor configurations
79 //! \param sensors Vector of sensor configuration names
80 //!
81 //! Sets the list of all radar sensor configurations available on the server.
82 //! Each name in the list corresponds to a unique sensor configuration that
83 //! can be used when requesting radar imagery.
84 virtual void setSensorList(std::vector<std::string> sensors);
85
86 //! \brief Gets the list of available sensor configurations
87 //! \return Vector of sensor configuration names
88 //!
89 //! Returns the list of all radar sensor configurations available on the server.
90 //! This list will be empty if there are no sensors available or if there was
91 //! an error retrieving the list.
92 virtual std::vector<std::string> sensorList();
93
94 //! \brief size of the message
95 virtual int messageSize();
96 //! \brief decode a message. Used by the factory
97 static DtBaseMessage* decode(unsigned char* buffer, int length);
98 //! \brief clone a message. Caller of function is responsible managing this memory
99 virtual DtBaseMessage* clone();
100
101protected:
102 //! \brief Serializes the message data to a stream writer
103 //! \param writer Reference to the stream writer to write the data to
104 //!
105 //! Writes the message data to the provided stream writer. This includes
106 //! the list of sensor names contained in this response.
107 virtual void serialize(DtStreamWriter& writer);
108
109 //! \brief Deserializes message data from a stream reader
110 //! \param reader Reference to the stream reader to read the data from
111 //!
112 //! Reads the message data from the provided stream reader, populating
113 //! the list of sensor names contained in this response.
114 virtual void deserialize(DtStreamReader& reader);
115
116 //! \brief List of available sensor configuration names
117 std::vector<std::string> mySensors;
118};
119} // namespace makRadarFx
DtBaseMessage()
Default constructor.
virtual ~DtSensorListRequest()
Virtual destructor.
virtual DtBaseMessage * clone()
clone a message. Caller of function is responsible managing this memory
virtual int messageSize()
size of the message
static DtBaseMessage * decode(unsigned char *buffer, int length)
decode a message. Used by the factory
virtual void serialize(DtStreamWriter &writer)
Serializes the message data to a stream writer.
virtual void deserialize(DtStreamReader &reader)
Deserializes message data from a stream reader.
DtSensorListRequest()
Default constructor.
virtual void serialize(DtStreamWriter &writer)
Serializes the message data to a stream writer.
virtual void setSensorList(std::vector< std::string > sensors)
Sets the list of available sensor configurations.
DtSensorListResponse()
Default constructor.
std::vector< std::string > mySensors
List of available sensor configuration names.
Definition rfxSensorListMessage.h:117
virtual int messageSize()
size of the message
virtual void deserialize(DtStreamReader &reader)
Deserializes message data from a stream reader.
virtual std::vector< std::string > sensorList()
Gets the list of available sensor configurations.
static DtBaseMessage * decode(unsigned char *buffer, int length)
decode a message. Used by the factory
virtual DtBaseMessage * clone()
clone a message. Caller of function is responsible managing this memory
virtual ~DtSensorListResponse()
Virtual destructor.
Stream reader for decoding values from a byte array in little endian format.
Definition byteStream.h:32
Stream writer for encoding values into a byte array in little endian format.
Definition byteStream.h:159
Defines export macros for the RadarFx Shared library.
#define RFX_DLL_SHARED
Export/import macro for non-Windows platforms (empty)
Definition export.h:25
Definition radarFxConnectorDriver.h:21
Defines the base message class for RadarFX client-server communication.