A host couldn't drive the new messages through the HostHandler class — only the server side knew how to dispatch them. Adds six new senders plus a unit test that walks each through a real loopback connection: * send_legacy_remote_command -> S2F21 * send_event_report_request -> S6F15 * send_individual_report_request -> S6F19 * send_annotated_report_request -> S6F21 * send_pp_load_inquire -> S7F1 * send_delete_pp -> S7F17 Suite: 296 cases / 1571 assertions. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -124,6 +124,20 @@ class HostHandler : public std::enable_shared_from_this<HostHandler> {
|
||||
const std::vector<CommandParameter>& params,
|
||||
ReplyHandler cb);
|
||||
|
||||
// S2F21/F22 legacy Remote Command (no parameter list, single ack byte).
|
||||
void send_legacy_remote_command(const std::string& rcmd, ReplyHandler cb);
|
||||
|
||||
// ---- Host-initiated event/report queries (B3) -------------------------
|
||||
|
||||
// S6F15/F16: pull the current event-report payload for a given CEID.
|
||||
void send_event_report_request(uint32_t ceid, ReplyHandler cb);
|
||||
|
||||
// S6F19/F20: pull a single RPTID's current values (no annotation).
|
||||
void send_individual_report_request(uint32_t rptid, ReplyHandler cb);
|
||||
|
||||
// S6F21/F22: pull a single RPTID's values with (VID, V) annotation.
|
||||
void send_annotated_report_request(uint32_t rptid, ReplyHandler cb);
|
||||
|
||||
// ---- Alarm management (B3) --------------------------------------------
|
||||
|
||||
// S5F3/F4 Enable/Disable Alarm. Spec uses ALED bit-7 to encode enable.
|
||||
@@ -144,6 +158,14 @@ class HostHandler : public std::enable_shared_from_this<HostHandler> {
|
||||
ReplyHandler cb); // S7F3/F4
|
||||
void send_request_pp(const std::string& ppid, ReplyHandler cb); // S7F5/F6
|
||||
|
||||
// S7F1/F2 Process Program Load Inquire: announce a forthcoming S7F3
|
||||
// of `length` bytes; equipment grants or denies.
|
||||
void send_pp_load_inquire(const std::string& ppid, uint32_t length,
|
||||
ReplyHandler cb);
|
||||
|
||||
// S7F17/F18 Delete Process Program: empty list = delete all.
|
||||
void send_delete_pp(const std::vector<std::string>& ppids, ReplyHandler cb);
|
||||
|
||||
// ---- Spool (B3) -------------------------------------------------------
|
||||
|
||||
void send_request_spool(SpoolRequestCode code, ReplyHandler cb); // S6F23/F24
|
||||
|
||||
Reference in New Issue
Block a user