scc 2026.07
SystemC components library
messages_generated.h
1// automatically generated by the FlatBuffers compiler, do not modify
2
3#ifndef FLATBUFFERS_GENERATED_MESSAGES_SCC_TCP4TLM_H_
4#define FLATBUFFERS_GENERATED_MESSAGES_SCC_TCP4TLM_H_
5
6#include "flatbuffers/flatbuffers.h"
7
8// Ensure the included flatbuffers.h is the same version as when this file was
9// generated, otherwise it may not be compatible.
10static_assert(FLATBUFFERS_VERSION_MAJOR == 25 && FLATBUFFERS_VERSION_MINOR == 9 && FLATBUFFERS_VERSION_REVISION == 23,
11 "Non-compatible flatbuffers version included");
12
13namespace scc {
14namespace tcp4tlm {
15
16struct NotifyEndpointMsg;
18
19struct NotifyShutdownMsg;
21
22struct SyncMsg;
23struct SyncMsgBuilder;
24
25struct BusOpMsg;
26struct BusOpMsgBuilder;
27
28struct ResponseMsg;
30
31struct BusDataMsg;
33
34struct SigOpMsg;
35struct SigOpMsgBuilder;
36
37struct LogMsg;
38struct LogMsgBuilder;
39
40struct RequestEnvelope;
42
43struct ResponseEnvelope;
45
46enum ResponseStatus : uint8_t {
47 ResponseStatus_OK = 0,
48 ResponseStatus_ACCEPTED = 1,
49 ResponseStatus_DELAYED = 2,
50 ResponseStatus_DECLINED = 3,
51 ResponseStatus_FAILURE = 4,
52 ResponseStatus_MIN = ResponseStatus_OK,
53 ResponseStatus_MAX = ResponseStatus_FAILURE
54};
55
56inline const ResponseStatus (&EnumValuesResponseStatus())[5] {
57 static const ResponseStatus values[] = {ResponseStatus_OK, ResponseStatus_ACCEPTED, ResponseStatus_DELAYED, ResponseStatus_DECLINED,
58 ResponseStatus_FAILURE};
59 return values;
60}
61
62inline const char* const* EnumNamesResponseStatus() {
63 static const char* const names[6] = {"OK", "ACCEPTED", "DELAYED", "DECLINED", "FAILURE", nullptr};
64 return names;
65}
66
67inline const char* EnumNameResponseStatus(ResponseStatus e) {
68 if(::flatbuffers::IsOutRange(e, ResponseStatus_OK, ResponseStatus_FAILURE))
69 return "";
70 const size_t index = static_cast<size_t>(e);
71 return EnumNamesResponseStatus()[index];
72}
73
74enum BusAccessType : uint8_t {
75 BusAccessType_NORMAL_ACC = 0,
76 BusAccessType_DEBUG_ACC = 1,
77 BusAccessType_MIN = BusAccessType_NORMAL_ACC,
78 BusAccessType_MAX = BusAccessType_DEBUG_ACC
79};
80
81inline const BusAccessType (&EnumValuesBusAccessType())[2] {
82 static const BusAccessType values[] = {BusAccessType_NORMAL_ACC, BusAccessType_DEBUG_ACC};
83 return values;
84}
85
86inline const char* const* EnumNamesBusAccessType() {
87 static const char* const names[3] = {"NORMAL_ACC", "DEBUG_ACC", nullptr};
88 return names;
89}
90
91inline const char* EnumNameBusAccessType(BusAccessType e) {
92 if(::flatbuffers::IsOutRange(e, BusAccessType_NORMAL_ACC, BusAccessType_DEBUG_ACC))
93 return "";
94 const size_t index = static_cast<size_t>(e);
95 return EnumNamesBusAccessType()[index];
96}
97
98enum RequestPayload : uint8_t {
99 RequestPayload_NONE = 0,
100 RequestPayload_NotifyEndpointMsg = 1,
101 RequestPayload_NotifyShutdownMsg = 2,
102 RequestPayload_SyncMsg = 3,
103 RequestPayload_BusOpMsg = 4,
104 RequestPayload_SigOpMsg = 5,
105 RequestPayload_LogMsg = 6,
106 RequestPayload_MIN = RequestPayload_NONE,
107 RequestPayload_MAX = RequestPayload_LogMsg
108};
109
110inline const RequestPayload (&EnumValuesRequestPayload())[7] {
111 static const RequestPayload values[] = {RequestPayload_NONE, RequestPayload_NotifyEndpointMsg, RequestPayload_NotifyShutdownMsg,
112 RequestPayload_SyncMsg, RequestPayload_BusOpMsg, RequestPayload_SigOpMsg,
113 RequestPayload_LogMsg};
114 return values;
115}
116
117inline const char* const* EnumNamesRequestPayload() {
118 static const char* const names[8] = {"NONE", "NotifyEndpointMsg", "NotifyShutdownMsg", "SyncMsg", "BusOpMsg", "SigOpMsg", "LogMsg",
119 nullptr};
120 return names;
121}
122
123inline const char* EnumNameRequestPayload(RequestPayload e) {
124 if(::flatbuffers::IsOutRange(e, RequestPayload_NONE, RequestPayload_LogMsg))
125 return "";
126 const size_t index = static_cast<size_t>(e);
127 return EnumNamesRequestPayload()[index];
128}
129
130template <typename T> struct RequestPayloadTraits { static const RequestPayload enum_value = RequestPayload_NONE; };
131
132template <> struct RequestPayloadTraits<scc::tcp4tlm::NotifyEndpointMsg> {
133 static const RequestPayload enum_value = RequestPayload_NotifyEndpointMsg;
134};
135
136template <> struct RequestPayloadTraits<scc::tcp4tlm::NotifyShutdownMsg> {
137 static const RequestPayload enum_value = RequestPayload_NotifyShutdownMsg;
138};
139
140template <> struct RequestPayloadTraits<scc::tcp4tlm::SyncMsg> { static const RequestPayload enum_value = RequestPayload_SyncMsg; };
141
142template <> struct RequestPayloadTraits<scc::tcp4tlm::BusOpMsg> { static const RequestPayload enum_value = RequestPayload_BusOpMsg; };
143
144template <> struct RequestPayloadTraits<scc::tcp4tlm::SigOpMsg> { static const RequestPayload enum_value = RequestPayload_SigOpMsg; };
145
146template <> struct RequestPayloadTraits<scc::tcp4tlm::LogMsg> { static const RequestPayload enum_value = RequestPayload_LogMsg; };
147
148bool VerifyRequestPayload(::flatbuffers::Verifier& verifier, const void* obj, RequestPayload type);
149bool VerifyRequestPayloadVector(::flatbuffers::Verifier& verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>>* values,
150 const ::flatbuffers::Vector<uint8_t>* types);
151
152enum ResponsePayload : uint8_t {
153 ResponsePayload_NONE = 0,
154 ResponsePayload_ResponseMsg = 1,
155 ResponsePayload_BusDataMsg = 2,
156 ResponsePayload_MIN = ResponsePayload_NONE,
157 ResponsePayload_MAX = ResponsePayload_BusDataMsg
158};
159
160inline const ResponsePayload (&EnumValuesResponsePayload())[3] {
161 static const ResponsePayload values[] = {ResponsePayload_NONE, ResponsePayload_ResponseMsg, ResponsePayload_BusDataMsg};
162 return values;
163}
164
165inline const char* const* EnumNamesResponsePayload() {
166 static const char* const names[4] = {"NONE", "ResponseMsg", "BusDataMsg", nullptr};
167 return names;
168}
169
170inline const char* EnumNameResponsePayload(ResponsePayload e) {
171 if(::flatbuffers::IsOutRange(e, ResponsePayload_NONE, ResponsePayload_BusDataMsg))
172 return "";
173 const size_t index = static_cast<size_t>(e);
174 return EnumNamesResponsePayload()[index];
175}
176
177template <typename T> struct ResponsePayloadTraits { static const ResponsePayload enum_value = ResponsePayload_NONE; };
178
179template <> struct ResponsePayloadTraits<scc::tcp4tlm::ResponseMsg> {
180 static const ResponsePayload enum_value = ResponsePayload_ResponseMsg;
181};
182
183template <> struct ResponsePayloadTraits<scc::tcp4tlm::BusDataMsg> {
184 static const ResponsePayload enum_value = ResponsePayload_BusDataMsg;
185};
186
187bool VerifyResponsePayload(::flatbuffers::Verifier& verifier, const void* obj, ResponsePayload type);
188bool VerifyResponsePayloadVector(::flatbuffers::Verifier& verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>>* values,
189 const ::flatbuffers::Vector<uint8_t>* types);
190
191struct NotifyEndpointMsg FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
192 typedef NotifyEndpointMsgBuilder Builder;
193 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_ID = 4, VT_HOSTNAME = 6, VT_PORT = 8 };
194 uint32_t id() const { return GetField<uint32_t>(VT_ID, 0); }
195 const ::flatbuffers::String* hostname() const { return GetPointer<const ::flatbuffers::String*>(VT_HOSTNAME); }
196 uint16_t port() const { return GetField<uint16_t>(VT_PORT, 0); }
197 bool Verify(::flatbuffers::Verifier& verifier) const {
198 return VerifyTableStart(verifier) && VerifyField<uint32_t>(verifier, VT_ID, 4) && VerifyOffset(verifier, VT_HOSTNAME) &&
199 verifier.VerifyString(hostname()) && VerifyField<uint16_t>(verifier, VT_PORT, 2) && verifier.EndTable();
200 }
201};
202
203struct NotifyEndpointMsgBuilder {
204 typedef NotifyEndpointMsg Table;
205 ::flatbuffers::FlatBufferBuilder& fbb_;
206 ::flatbuffers::uoffset_t start_;
207 void add_id(uint32_t id) { fbb_.AddElement<uint32_t>(NotifyEndpointMsg::VT_ID, id, 0); }
208 void add_hostname(::flatbuffers::Offset<::flatbuffers::String> hostname) { fbb_.AddOffset(NotifyEndpointMsg::VT_HOSTNAME, hostname); }
209 void add_port(uint16_t port) { fbb_.AddElement<uint16_t>(NotifyEndpointMsg::VT_PORT, port, 0); }
210 explicit NotifyEndpointMsgBuilder(::flatbuffers::FlatBufferBuilder& _fbb)
211 : fbb_(_fbb) {
212 start_ = fbb_.StartTable();
213 }
214 ::flatbuffers::Offset<NotifyEndpointMsg> Finish() {
215 const auto end = fbb_.EndTable(start_);
216 auto o = ::flatbuffers::Offset<NotifyEndpointMsg>(end);
217 return o;
218 }
219};
220
221inline ::flatbuffers::Offset<NotifyEndpointMsg> CreateNotifyEndpointMsg(::flatbuffers::FlatBufferBuilder& _fbb, uint32_t id = 0,
222 ::flatbuffers::Offset<::flatbuffers::String> hostname = 0,
223 uint16_t port = 0) {
224 NotifyEndpointMsgBuilder builder_(_fbb);
225 builder_.add_hostname(hostname);
226 builder_.add_id(id);
227 builder_.add_port(port);
228 return builder_.Finish();
229}
230
231inline ::flatbuffers::Offset<NotifyEndpointMsg> CreateNotifyEndpointMsgDirect(::flatbuffers::FlatBufferBuilder& _fbb, uint32_t id = 0,
232 const char* hostname = nullptr, uint16_t port = 0) {
233 auto hostname__ = hostname ? _fbb.CreateString(hostname) : 0;
234 return scc::tcp4tlm::CreateNotifyEndpointMsg(_fbb, id, hostname__, port);
235}
236
237struct NotifyShutdownMsg FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
238 typedef NotifyShutdownMsgBuilder Builder;
239 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_ID = 4 };
240 uint32_t id() const { return GetField<uint32_t>(VT_ID, 0); }
241 bool Verify(::flatbuffers::Verifier& verifier) const {
242 return VerifyTableStart(verifier) && VerifyField<uint32_t>(verifier, VT_ID, 4) && verifier.EndTable();
243 }
244};
245
246struct NotifyShutdownMsgBuilder {
247 typedef NotifyShutdownMsg Table;
248 ::flatbuffers::FlatBufferBuilder& fbb_;
249 ::flatbuffers::uoffset_t start_;
250 void add_id(uint32_t id) { fbb_.AddElement<uint32_t>(NotifyShutdownMsg::VT_ID, id, 0); }
251 explicit NotifyShutdownMsgBuilder(::flatbuffers::FlatBufferBuilder& _fbb)
252 : fbb_(_fbb) {
253 start_ = fbb_.StartTable();
254 }
255 ::flatbuffers::Offset<NotifyShutdownMsg> Finish() {
256 const auto end = fbb_.EndTable(start_);
257 auto o = ::flatbuffers::Offset<NotifyShutdownMsg>(end);
258 return o;
259 }
260};
261
262inline ::flatbuffers::Offset<NotifyShutdownMsg> CreateNotifyShutdownMsg(::flatbuffers::FlatBufferBuilder& _fbb, uint32_t id = 0) {
263 NotifyShutdownMsgBuilder builder_(_fbb);
264 builder_.add_id(id);
265 return builder_.Finish();
266}
267
268struct SyncMsg FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
269 typedef SyncMsgBuilder Builder;
270 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_ID = 4, VT_TIME_STAMP = 6 };
271 uint32_t id() const { return GetField<uint32_t>(VT_ID, 0); }
272 uint64_t time_stamp() const { return GetField<uint64_t>(VT_TIME_STAMP, 0); }
273 bool Verify(::flatbuffers::Verifier& verifier) const {
274 return VerifyTableStart(verifier) && VerifyField<uint32_t>(verifier, VT_ID, 4) &&
275 VerifyField<uint64_t>(verifier, VT_TIME_STAMP, 8) && verifier.EndTable();
276 }
277};
278
279struct SyncMsgBuilder {
280 typedef SyncMsg Table;
281 ::flatbuffers::FlatBufferBuilder& fbb_;
282 ::flatbuffers::uoffset_t start_;
283 void add_id(uint32_t id) { fbb_.AddElement<uint32_t>(SyncMsg::VT_ID, id, 0); }
284 void add_time_stamp(uint64_t time_stamp) { fbb_.AddElement<uint64_t>(SyncMsg::VT_TIME_STAMP, time_stamp, 0); }
285 explicit SyncMsgBuilder(::flatbuffers::FlatBufferBuilder& _fbb)
286 : fbb_(_fbb) {
287 start_ = fbb_.StartTable();
288 }
289 ::flatbuffers::Offset<SyncMsg> Finish() {
290 const auto end = fbb_.EndTable(start_);
291 auto o = ::flatbuffers::Offset<SyncMsg>(end);
292 return o;
293 }
294};
295
296inline ::flatbuffers::Offset<SyncMsg> CreateSyncMsg(::flatbuffers::FlatBufferBuilder& _fbb, uint32_t id = 0, uint64_t time_stamp = 0) {
297 SyncMsgBuilder builder_(_fbb);
298 builder_.add_time_stamp(time_stamp);
299 builder_.add_id(id);
300 return builder_.Finish();
301}
302
303struct BusOpMsg FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
304 typedef BusOpMsgBuilder Builder;
305 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
306 VT_ID = 4,
307 VT_TIME_STAMP = 6,
308 VT_TIME_OFFSET = 8,
309 VT_TYPE = 10,
310 VT_INDEX = 12,
311 VT_ADDRESS = 14,
312 VT_SIZE = 16,
313 VT_NO_RESPONSE = 18,
314 VT_DATA = 20,
315 VT_BYTE_ENABLE = 22
316 };
317 uint32_t id() const { return GetField<uint32_t>(VT_ID, 0); }
318 uint64_t time_stamp() const { return GetField<uint64_t>(VT_TIME_STAMP, 0); }
319 uint64_t time_offset() const { return GetField<uint64_t>(VT_TIME_OFFSET, 0); }
320 scc::tcp4tlm::BusAccessType type() const { return static_cast<scc::tcp4tlm::BusAccessType>(GetField<uint8_t>(VT_TYPE, 0)); }
321 uint32_t index() const { return GetField<uint32_t>(VT_INDEX, 0); }
322 uint64_t address() const { return GetField<uint64_t>(VT_ADDRESS, 0); }
323 uint32_t size() const { return GetField<uint32_t>(VT_SIZE, 0); }
324 bool no_response() const { return GetField<uint8_t>(VT_NO_RESPONSE, 0) != 0; }
325 const ::flatbuffers::Vector<uint8_t>* data() const { return GetPointer<const ::flatbuffers::Vector<uint8_t>*>(VT_DATA); }
326 const ::flatbuffers::Vector<uint8_t>* byte_enable() const { return GetPointer<const ::flatbuffers::Vector<uint8_t>*>(VT_BYTE_ENABLE); }
327 bool Verify(::flatbuffers::Verifier& verifier) const {
328 return VerifyTableStart(verifier) && VerifyField<uint32_t>(verifier, VT_ID, 4) &&
329 VerifyField<uint64_t>(verifier, VT_TIME_STAMP, 8) && VerifyField<uint64_t>(verifier, VT_TIME_OFFSET, 8) &&
330 VerifyField<uint8_t>(verifier, VT_TYPE, 1) && VerifyField<uint32_t>(verifier, VT_INDEX, 4) &&
331 VerifyField<uint64_t>(verifier, VT_ADDRESS, 8) && VerifyField<uint32_t>(verifier, VT_SIZE, 4) &&
332 VerifyField<uint8_t>(verifier, VT_NO_RESPONSE, 1) && VerifyOffset(verifier, VT_DATA) && verifier.VerifyVector(data()) &&
333 VerifyOffset(verifier, VT_BYTE_ENABLE) && verifier.VerifyVector(byte_enable()) && verifier.EndTable();
334 }
335};
336
337struct BusOpMsgBuilder {
338 typedef BusOpMsg Table;
339 ::flatbuffers::FlatBufferBuilder& fbb_;
340 ::flatbuffers::uoffset_t start_;
341 void add_id(uint32_t id) { fbb_.AddElement<uint32_t>(BusOpMsg::VT_ID, id, 0); }
342 void add_time_stamp(uint64_t time_stamp) { fbb_.AddElement<uint64_t>(BusOpMsg::VT_TIME_STAMP, time_stamp, 0); }
343 void add_time_offset(uint64_t time_offset) { fbb_.AddElement<uint64_t>(BusOpMsg::VT_TIME_OFFSET, time_offset, 0); }
344 void add_type(scc::tcp4tlm::BusAccessType type) { fbb_.AddElement<uint8_t>(BusOpMsg::VT_TYPE, static_cast<uint8_t>(type), 0); }
345 void add_index(uint32_t index) { fbb_.AddElement<uint32_t>(BusOpMsg::VT_INDEX, index, 0); }
346 void add_address(uint64_t address) { fbb_.AddElement<uint64_t>(BusOpMsg::VT_ADDRESS, address, 0); }
347 void add_size(uint32_t size) { fbb_.AddElement<uint32_t>(BusOpMsg::VT_SIZE, size, 0); }
348 void add_no_response(bool no_response) { fbb_.AddElement<uint8_t>(BusOpMsg::VT_NO_RESPONSE, static_cast<uint8_t>(no_response), 0); }
349 void add_data(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data) { fbb_.AddOffset(BusOpMsg::VT_DATA, data); }
350 void add_byte_enable(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> byte_enable) {
351 fbb_.AddOffset(BusOpMsg::VT_BYTE_ENABLE, byte_enable);
352 }
353 explicit BusOpMsgBuilder(::flatbuffers::FlatBufferBuilder& _fbb)
354 : fbb_(_fbb) {
355 start_ = fbb_.StartTable();
356 }
357 ::flatbuffers::Offset<BusOpMsg> Finish() {
358 const auto end = fbb_.EndTable(start_);
359 auto o = ::flatbuffers::Offset<BusOpMsg>(end);
360 return o;
361 }
362};
363
364inline ::flatbuffers::Offset<BusOpMsg> CreateBusOpMsg(::flatbuffers::FlatBufferBuilder& _fbb, uint32_t id = 0, uint64_t time_stamp = 0,
365 uint64_t time_offset = 0,
366 scc::tcp4tlm::BusAccessType type = scc::tcp4tlm::BusAccessType_NORMAL_ACC,
367 uint32_t index = 0, uint64_t address = 0, uint32_t size = 0, bool no_response = false,
368 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data = 0,
369 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> byte_enable = 0) {
370 BusOpMsgBuilder builder_(_fbb);
371 builder_.add_address(address);
372 builder_.add_time_offset(time_offset);
373 builder_.add_time_stamp(time_stamp);
374 builder_.add_byte_enable(byte_enable);
375 builder_.add_data(data);
376 builder_.add_size(size);
377 builder_.add_index(index);
378 builder_.add_id(id);
379 builder_.add_no_response(no_response);
380 builder_.add_type(type);
381 return builder_.Finish();
382}
383
384inline ::flatbuffers::Offset<BusOpMsg> CreateBusOpMsgDirect(::flatbuffers::FlatBufferBuilder& _fbb, uint32_t id = 0,
385 uint64_t time_stamp = 0, uint64_t time_offset = 0,
386 scc::tcp4tlm::BusAccessType type = scc::tcp4tlm::BusAccessType_NORMAL_ACC,
387 uint32_t index = 0, uint64_t address = 0, uint32_t size = 0,
388 bool no_response = false, const std::vector<uint8_t>* data = nullptr,
389 const std::vector<uint8_t>* byte_enable = nullptr) {
390 auto data__ = data ? _fbb.CreateVector<uint8_t>(*data) : 0;
391 auto byte_enable__ = byte_enable ? _fbb.CreateVector<uint8_t>(*byte_enable) : 0;
392 return scc::tcp4tlm::CreateBusOpMsg(_fbb, id, time_stamp, time_offset, type, index, address, size, no_response, data__, byte_enable__);
393}
394
395struct ResponseMsg FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
396 typedef ResponseMsgBuilder Builder;
397 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_STATUS = 4, VT_REQ_ID = 6 };
398 scc::tcp4tlm::ResponseStatus status() const { return static_cast<scc::tcp4tlm::ResponseStatus>(GetField<uint8_t>(VT_STATUS, 0)); }
399 uint32_t req_id() const { return GetField<uint32_t>(VT_REQ_ID, 0); }
400 bool Verify(::flatbuffers::Verifier& verifier) const {
401 return VerifyTableStart(verifier) && VerifyField<uint8_t>(verifier, VT_STATUS, 1) &&
402 VerifyField<uint32_t>(verifier, VT_REQ_ID, 4) && verifier.EndTable();
403 }
404};
405
406struct ResponseMsgBuilder {
407 typedef ResponseMsg Table;
408 ::flatbuffers::FlatBufferBuilder& fbb_;
409 ::flatbuffers::uoffset_t start_;
410 void add_status(scc::tcp4tlm::ResponseStatus status) {
411 fbb_.AddElement<uint8_t>(ResponseMsg::VT_STATUS, static_cast<uint8_t>(status), 0);
412 }
413 void add_req_id(uint32_t req_id) { fbb_.AddElement<uint32_t>(ResponseMsg::VT_REQ_ID, req_id, 0); }
414 explicit ResponseMsgBuilder(::flatbuffers::FlatBufferBuilder& _fbb)
415 : fbb_(_fbb) {
416 start_ = fbb_.StartTable();
417 }
418 ::flatbuffers::Offset<ResponseMsg> Finish() {
419 const auto end = fbb_.EndTable(start_);
420 auto o = ::flatbuffers::Offset<ResponseMsg>(end);
421 return o;
422 }
423};
424
425inline ::flatbuffers::Offset<ResponseMsg> CreateResponseMsg(::flatbuffers::FlatBufferBuilder& _fbb,
426 scc::tcp4tlm::ResponseStatus status = scc::tcp4tlm::ResponseStatus_OK,
427 uint32_t req_id = 0) {
428 ResponseMsgBuilder builder_(_fbb);
429 builder_.add_req_id(req_id);
430 builder_.add_status(status);
431 return builder_.Finish();
432}
433
434struct BusDataMsg FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
435 typedef BusDataMsgBuilder Builder;
436 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_STATUS = 4, VT_REQ_ID = 6, VT_DATA = 8 };
437 scc::tcp4tlm::ResponseStatus status() const { return static_cast<scc::tcp4tlm::ResponseStatus>(GetField<uint8_t>(VT_STATUS, 0)); }
438 uint32_t req_id() const { return GetField<uint32_t>(VT_REQ_ID, 0); }
439 const ::flatbuffers::Vector<uint8_t>* data() const { return GetPointer<const ::flatbuffers::Vector<uint8_t>*>(VT_DATA); }
440 bool Verify(::flatbuffers::Verifier& verifier) const {
441 return VerifyTableStart(verifier) && VerifyField<uint8_t>(verifier, VT_STATUS, 1) &&
442 VerifyField<uint32_t>(verifier, VT_REQ_ID, 4) && VerifyOffset(verifier, VT_DATA) && verifier.VerifyVector(data()) &&
443 verifier.EndTable();
444 }
445};
446
447struct BusDataMsgBuilder {
448 typedef BusDataMsg Table;
449 ::flatbuffers::FlatBufferBuilder& fbb_;
450 ::flatbuffers::uoffset_t start_;
451 void add_status(scc::tcp4tlm::ResponseStatus status) {
452 fbb_.AddElement<uint8_t>(BusDataMsg::VT_STATUS, static_cast<uint8_t>(status), 0);
453 }
454 void add_req_id(uint32_t req_id) { fbb_.AddElement<uint32_t>(BusDataMsg::VT_REQ_ID, req_id, 0); }
455 void add_data(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data) { fbb_.AddOffset(BusDataMsg::VT_DATA, data); }
456 explicit BusDataMsgBuilder(::flatbuffers::FlatBufferBuilder& _fbb)
457 : fbb_(_fbb) {
458 start_ = fbb_.StartTable();
459 }
460 ::flatbuffers::Offset<BusDataMsg> Finish() {
461 const auto end = fbb_.EndTable(start_);
462 auto o = ::flatbuffers::Offset<BusDataMsg>(end);
463 return o;
464 }
465};
466
467inline ::flatbuffers::Offset<BusDataMsg> CreateBusDataMsg(::flatbuffers::FlatBufferBuilder& _fbb,
468 scc::tcp4tlm::ResponseStatus status = scc::tcp4tlm::ResponseStatus_OK,
469 uint32_t req_id = 0,
470 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data = 0) {
471 BusDataMsgBuilder builder_(_fbb);
472 builder_.add_data(data);
473 builder_.add_req_id(req_id);
474 builder_.add_status(status);
475 return builder_.Finish();
476}
477
478inline ::flatbuffers::Offset<BusDataMsg> CreateBusDataMsgDirect(::flatbuffers::FlatBufferBuilder& _fbb,
479 scc::tcp4tlm::ResponseStatus status = scc::tcp4tlm::ResponseStatus_OK,
480 uint32_t req_id = 0, const std::vector<uint8_t>* data = nullptr) {
481 auto data__ = data ? _fbb.CreateVector<uint8_t>(*data) : 0;
482 return scc::tcp4tlm::CreateBusDataMsg(_fbb, status, req_id, data__);
483}
484
485struct SigOpMsg FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
486 typedef SigOpMsgBuilder Builder;
487 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_ID = 4, VT_TIME_STAMP = 6, VT_INDEX = 8, VT_VALUE = 10 };
488 uint32_t id() const { return GetField<uint32_t>(VT_ID, 0); }
489 uint64_t time_stamp() const { return GetField<uint64_t>(VT_TIME_STAMP, 0); }
490 uint32_t index() const { return GetField<uint32_t>(VT_INDEX, 0); }
491 uint8_t value() const { return GetField<uint8_t>(VT_VALUE, 0); }
492 bool Verify(::flatbuffers::Verifier& verifier) const {
493 return VerifyTableStart(verifier) && VerifyField<uint32_t>(verifier, VT_ID, 4) &&
494 VerifyField<uint64_t>(verifier, VT_TIME_STAMP, 8) && VerifyField<uint32_t>(verifier, VT_INDEX, 4) &&
495 VerifyField<uint8_t>(verifier, VT_VALUE, 1) && verifier.EndTable();
496 }
497};
498
499struct SigOpMsgBuilder {
500 typedef SigOpMsg Table;
501 ::flatbuffers::FlatBufferBuilder& fbb_;
502 ::flatbuffers::uoffset_t start_;
503 void add_id(uint32_t id) { fbb_.AddElement<uint32_t>(SigOpMsg::VT_ID, id, 0); }
504 void add_time_stamp(uint64_t time_stamp) { fbb_.AddElement<uint64_t>(SigOpMsg::VT_TIME_STAMP, time_stamp, 0); }
505 void add_index(uint32_t index) { fbb_.AddElement<uint32_t>(SigOpMsg::VT_INDEX, index, 0); }
506 void add_value(uint8_t value) { fbb_.AddElement<uint8_t>(SigOpMsg::VT_VALUE, value, 0); }
507 explicit SigOpMsgBuilder(::flatbuffers::FlatBufferBuilder& _fbb)
508 : fbb_(_fbb) {
509 start_ = fbb_.StartTable();
510 }
511 ::flatbuffers::Offset<SigOpMsg> Finish() {
512 const auto end = fbb_.EndTable(start_);
513 auto o = ::flatbuffers::Offset<SigOpMsg>(end);
514 return o;
515 }
516};
517
518inline ::flatbuffers::Offset<SigOpMsg> CreateSigOpMsg(::flatbuffers::FlatBufferBuilder& _fbb, uint32_t id = 0, uint64_t time_stamp = 0,
519 uint32_t index = 0, uint8_t value = 0) {
520 SigOpMsgBuilder builder_(_fbb);
521 builder_.add_time_stamp(time_stamp);
522 builder_.add_index(index);
523 builder_.add_id(id);
524 builder_.add_value(value);
525 return builder_.Finish();
526}
527
528struct LogMsg FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
529 typedef LogMsgBuilder Builder;
530 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_ID = 4, VT_MSG = 6 };
531 uint32_t id() const { return GetField<uint32_t>(VT_ID, 0); }
532 const ::flatbuffers::String* msg() const { return GetPointer<const ::flatbuffers::String*>(VT_MSG); }
533 bool Verify(::flatbuffers::Verifier& verifier) const {
534 return VerifyTableStart(verifier) && VerifyField<uint32_t>(verifier, VT_ID, 4) && VerifyOffset(verifier, VT_MSG) &&
535 verifier.VerifyString(msg()) && verifier.EndTable();
536 }
537};
538
539struct LogMsgBuilder {
540 typedef LogMsg Table;
541 ::flatbuffers::FlatBufferBuilder& fbb_;
542 ::flatbuffers::uoffset_t start_;
543 void add_id(uint32_t id) { fbb_.AddElement<uint32_t>(LogMsg::VT_ID, id, 0); }
544 void add_msg(::flatbuffers::Offset<::flatbuffers::String> msg) { fbb_.AddOffset(LogMsg::VT_MSG, msg); }
545 explicit LogMsgBuilder(::flatbuffers::FlatBufferBuilder& _fbb)
546 : fbb_(_fbb) {
547 start_ = fbb_.StartTable();
548 }
549 ::flatbuffers::Offset<LogMsg> Finish() {
550 const auto end = fbb_.EndTable(start_);
551 auto o = ::flatbuffers::Offset<LogMsg>(end);
552 return o;
553 }
554};
555
556inline ::flatbuffers::Offset<LogMsg> CreateLogMsg(::flatbuffers::FlatBufferBuilder& _fbb, uint32_t id = 0,
557 ::flatbuffers::Offset<::flatbuffers::String> msg = 0) {
558 LogMsgBuilder builder_(_fbb);
559 builder_.add_msg(msg);
560 builder_.add_id(id);
561 return builder_.Finish();
562}
563
564inline ::flatbuffers::Offset<LogMsg> CreateLogMsgDirect(::flatbuffers::FlatBufferBuilder& _fbb, uint32_t id = 0,
565 const char* msg = nullptr) {
566 auto msg__ = msg ? _fbb.CreateString(msg) : 0;
567 return scc::tcp4tlm::CreateLogMsg(_fbb, id, msg__);
568}
569
570struct RequestEnvelope FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
571 typedef RequestEnvelopeBuilder Builder;
572 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_PAYLOAD_TYPE = 4, VT_PAYLOAD = 6 };
573 scc::tcp4tlm::RequestPayload payload_type() const {
574 return static_cast<scc::tcp4tlm::RequestPayload>(GetField<uint8_t>(VT_PAYLOAD_TYPE, 0));
575 }
576 const void* payload() const { return GetPointer<const void*>(VT_PAYLOAD); }
577 template <typename T> const T* payload_as() const;
578 const scc::tcp4tlm::NotifyEndpointMsg* payload_as_NotifyEndpointMsg() const {
579 return payload_type() == scc::tcp4tlm::RequestPayload_NotifyEndpointMsg
580 ? static_cast<const scc::tcp4tlm::NotifyEndpointMsg*>(payload())
581 : nullptr;
582 }
583 const scc::tcp4tlm::NotifyShutdownMsg* payload_as_NotifyShutdownMsg() const {
584 return payload_type() == scc::tcp4tlm::RequestPayload_NotifyShutdownMsg
585 ? static_cast<const scc::tcp4tlm::NotifyShutdownMsg*>(payload())
586 : nullptr;
587 }
588 const scc::tcp4tlm::SyncMsg* payload_as_SyncMsg() const {
589 return payload_type() == scc::tcp4tlm::RequestPayload_SyncMsg ? static_cast<const scc::tcp4tlm::SyncMsg*>(payload()) : nullptr;
590 }
591 const scc::tcp4tlm::BusOpMsg* payload_as_BusOpMsg() const {
592 return payload_type() == scc::tcp4tlm::RequestPayload_BusOpMsg ? static_cast<const scc::tcp4tlm::BusOpMsg*>(payload()) : nullptr;
593 }
594 const scc::tcp4tlm::SigOpMsg* payload_as_SigOpMsg() const {
595 return payload_type() == scc::tcp4tlm::RequestPayload_SigOpMsg ? static_cast<const scc::tcp4tlm::SigOpMsg*>(payload()) : nullptr;
596 }
597 const scc::tcp4tlm::LogMsg* payload_as_LogMsg() const {
598 return payload_type() == scc::tcp4tlm::RequestPayload_LogMsg ? static_cast<const scc::tcp4tlm::LogMsg*>(payload()) : nullptr;
599 }
600 bool Verify(::flatbuffers::Verifier& verifier) const {
601 return VerifyTableStart(verifier) && VerifyField<uint8_t>(verifier, VT_PAYLOAD_TYPE, 1) && VerifyOffset(verifier, VT_PAYLOAD) &&
602 VerifyRequestPayload(verifier, payload(), payload_type()) && verifier.EndTable();
603 }
604};
605
606template <> inline const scc::tcp4tlm::NotifyEndpointMsg* RequestEnvelope::payload_as<scc::tcp4tlm::NotifyEndpointMsg>() const {
607 return payload_as_NotifyEndpointMsg();
608}
609
610template <> inline const scc::tcp4tlm::NotifyShutdownMsg* RequestEnvelope::payload_as<scc::tcp4tlm::NotifyShutdownMsg>() const {
611 return payload_as_NotifyShutdownMsg();
612}
613
614template <> inline const scc::tcp4tlm::SyncMsg* RequestEnvelope::payload_as<scc::tcp4tlm::SyncMsg>() const { return payload_as_SyncMsg(); }
615
616template <> inline const scc::tcp4tlm::BusOpMsg* RequestEnvelope::payload_as<scc::tcp4tlm::BusOpMsg>() const {
617 return payload_as_BusOpMsg();
618}
619
620template <> inline const scc::tcp4tlm::SigOpMsg* RequestEnvelope::payload_as<scc::tcp4tlm::SigOpMsg>() const {
621 return payload_as_SigOpMsg();
622}
623
624template <> inline const scc::tcp4tlm::LogMsg* RequestEnvelope::payload_as<scc::tcp4tlm::LogMsg>() const { return payload_as_LogMsg(); }
625
626struct RequestEnvelopeBuilder {
627 typedef RequestEnvelope Table;
628 ::flatbuffers::FlatBufferBuilder& fbb_;
629 ::flatbuffers::uoffset_t start_;
630 void add_payload_type(scc::tcp4tlm::RequestPayload payload_type) {
631 fbb_.AddElement<uint8_t>(RequestEnvelope::VT_PAYLOAD_TYPE, static_cast<uint8_t>(payload_type), 0);
632 }
633 void add_payload(::flatbuffers::Offset<void> payload) { fbb_.AddOffset(RequestEnvelope::VT_PAYLOAD, payload); }
634 explicit RequestEnvelopeBuilder(::flatbuffers::FlatBufferBuilder& _fbb)
635 : fbb_(_fbb) {
636 start_ = fbb_.StartTable();
637 }
638 ::flatbuffers::Offset<RequestEnvelope> Finish() {
639 const auto end = fbb_.EndTable(start_);
640 auto o = ::flatbuffers::Offset<RequestEnvelope>(end);
641 return o;
642 }
643};
644
645inline ::flatbuffers::Offset<RequestEnvelope>
646CreateRequestEnvelope(::flatbuffers::FlatBufferBuilder& _fbb, scc::tcp4tlm::RequestPayload payload_type = scc::tcp4tlm::RequestPayload_NONE,
647 ::flatbuffers::Offset<void> payload = 0) {
648 RequestEnvelopeBuilder builder_(_fbb);
649 builder_.add_payload(payload);
650 builder_.add_payload_type(payload_type);
651 return builder_.Finish();
652}
653
654struct ResponseEnvelope FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
655 typedef ResponseEnvelopeBuilder Builder;
656 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_PAYLOAD_TYPE = 4, VT_PAYLOAD = 6 };
657 scc::tcp4tlm::ResponsePayload payload_type() const {
658 return static_cast<scc::tcp4tlm::ResponsePayload>(GetField<uint8_t>(VT_PAYLOAD_TYPE, 0));
659 }
660 const void* payload() const { return GetPointer<const void*>(VT_PAYLOAD); }
661 template <typename T> const T* payload_as() const;
662 const scc::tcp4tlm::ResponseMsg* payload_as_ResponseMsg() const {
663 return payload_type() == scc::tcp4tlm::ResponsePayload_ResponseMsg ? static_cast<const scc::tcp4tlm::ResponseMsg*>(payload())
664 : nullptr;
665 }
666 const scc::tcp4tlm::BusDataMsg* payload_as_BusDataMsg() const {
667 return payload_type() == scc::tcp4tlm::ResponsePayload_BusDataMsg ? static_cast<const scc::tcp4tlm::BusDataMsg*>(payload())
668 : nullptr;
669 }
670 bool Verify(::flatbuffers::Verifier& verifier) const {
671 return VerifyTableStart(verifier) && VerifyField<uint8_t>(verifier, VT_PAYLOAD_TYPE, 1) && VerifyOffset(verifier, VT_PAYLOAD) &&
672 VerifyResponsePayload(verifier, payload(), payload_type()) && verifier.EndTable();
673 }
674};
675
676template <> inline const scc::tcp4tlm::ResponseMsg* ResponseEnvelope::payload_as<scc::tcp4tlm::ResponseMsg>() const {
677 return payload_as_ResponseMsg();
678}
679
680template <> inline const scc::tcp4tlm::BusDataMsg* ResponseEnvelope::payload_as<scc::tcp4tlm::BusDataMsg>() const {
681 return payload_as_BusDataMsg();
682}
683
684struct ResponseEnvelopeBuilder {
685 typedef ResponseEnvelope Table;
686 ::flatbuffers::FlatBufferBuilder& fbb_;
687 ::flatbuffers::uoffset_t start_;
688 void add_payload_type(scc::tcp4tlm::ResponsePayload payload_type) {
689 fbb_.AddElement<uint8_t>(ResponseEnvelope::VT_PAYLOAD_TYPE, static_cast<uint8_t>(payload_type), 0);
690 }
691 void add_payload(::flatbuffers::Offset<void> payload) { fbb_.AddOffset(ResponseEnvelope::VT_PAYLOAD, payload); }
692 explicit ResponseEnvelopeBuilder(::flatbuffers::FlatBufferBuilder& _fbb)
693 : fbb_(_fbb) {
694 start_ = fbb_.StartTable();
695 }
696 ::flatbuffers::Offset<ResponseEnvelope> Finish() {
697 const auto end = fbb_.EndTable(start_);
698 auto o = ::flatbuffers::Offset<ResponseEnvelope>(end);
699 return o;
700 }
701};
702
703inline ::flatbuffers::Offset<ResponseEnvelope>
704CreateResponseEnvelope(::flatbuffers::FlatBufferBuilder& _fbb,
705 scc::tcp4tlm::ResponsePayload payload_type = scc::tcp4tlm::ResponsePayload_NONE,
706 ::flatbuffers::Offset<void> payload = 0) {
707 ResponseEnvelopeBuilder builder_(_fbb);
708 builder_.add_payload(payload);
709 builder_.add_payload_type(payload_type);
710 return builder_.Finish();
711}
712
713inline bool VerifyRequestPayload(::flatbuffers::Verifier& verifier, const void* obj, RequestPayload type) {
714 switch(type) {
715 case RequestPayload_NONE: {
716 return true;
717 }
718 case RequestPayload_NotifyEndpointMsg: {
719 auto ptr = reinterpret_cast<const scc::tcp4tlm::NotifyEndpointMsg*>(obj);
720 return verifier.VerifyTable(ptr);
721 }
722 case RequestPayload_NotifyShutdownMsg: {
723 auto ptr = reinterpret_cast<const scc::tcp4tlm::NotifyShutdownMsg*>(obj);
724 return verifier.VerifyTable(ptr);
725 }
726 case RequestPayload_SyncMsg: {
727 auto ptr = reinterpret_cast<const scc::tcp4tlm::SyncMsg*>(obj);
728 return verifier.VerifyTable(ptr);
729 }
730 case RequestPayload_BusOpMsg: {
731 auto ptr = reinterpret_cast<const scc::tcp4tlm::BusOpMsg*>(obj);
732 return verifier.VerifyTable(ptr);
733 }
734 case RequestPayload_SigOpMsg: {
735 auto ptr = reinterpret_cast<const scc::tcp4tlm::SigOpMsg*>(obj);
736 return verifier.VerifyTable(ptr);
737 }
738 case RequestPayload_LogMsg: {
739 auto ptr = reinterpret_cast<const scc::tcp4tlm::LogMsg*>(obj);
740 return verifier.VerifyTable(ptr);
741 }
742 default:
743 return true;
744 }
745}
746
747inline bool VerifyRequestPayloadVector(::flatbuffers::Verifier& verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>>* values,
748 const ::flatbuffers::Vector<uint8_t>* types) {
749 if(!values || !types)
750 return !values && !types;
751 if(values->size() != types->size())
752 return false;
753 for(::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
754 if(!VerifyRequestPayload(verifier, values->Get(i), types->GetEnum<RequestPayload>(i))) {
755 return false;
756 }
757 }
758 return true;
759}
760
761inline bool VerifyResponsePayload(::flatbuffers::Verifier& verifier, const void* obj, ResponsePayload type) {
762 switch(type) {
763 case ResponsePayload_NONE: {
764 return true;
765 }
766 case ResponsePayload_ResponseMsg: {
767 auto ptr = reinterpret_cast<const scc::tcp4tlm::ResponseMsg*>(obj);
768 return verifier.VerifyTable(ptr);
769 }
770 case ResponsePayload_BusDataMsg: {
771 auto ptr = reinterpret_cast<const scc::tcp4tlm::BusDataMsg*>(obj);
772 return verifier.VerifyTable(ptr);
773 }
774 default:
775 return true;
776 }
777}
778
779inline bool VerifyResponsePayloadVector(::flatbuffers::Verifier& verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>>* values,
780 const ::flatbuffers::Vector<uint8_t>* types) {
781 if(!values || !types)
782 return !values && !types;
783 if(values->size() != types->size())
784 return false;
785 for(::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
786 if(!VerifyResponsePayload(verifier, values->Get(i), types->GetEnum<ResponsePayload>(i))) {
787 return false;
788 }
789 }
790 return true;
791}
792
793} // namespace tcp4tlm
794} // namespace scc
795
796#endif // FLATBUFFERS_GENERATED_MESSAGES_SCC_TCP4TLM_H_
SCC TLM utilities.