master
c 35 lines 1.19 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 #include "aclk_alarm_api.h"
4
5 #include "aclk_query_queue.h"
6
7 #include "aclk_util.h"
8
9 #include "aclk.h"
10
11 void aclk_send_alarm_log_entry(struct alarm_log_entry *log_entry)
12 {
13 size_t payload_size;
14 char *payload = generate_alarm_log_entry(&payload_size, log_entry);
15
16 aclk_send_bin_msg(payload, payload_size, ACLK_TOPICID_ALARM_LOG, "AlarmLogEntry");
17 }
18
19 void aclk_send_provide_alarm_cfg(struct provide_alarm_configuration *cfg)
20 {
21 aclk_query_t *query = aclk_query_new(ALARM_PROVIDE_CFG);
22 query->data.bin_payload.payload = generate_provide_alarm_configuration(&query->data.bin_payload.size, cfg);
23 query->data.bin_payload.topic = ACLK_TOPICID_ALARM_CONFIG;
24 query->data.bin_payload.msg_name = "ProvideAlarmConfiguration";
25 QUEUE_IF_PAYLOAD_PRESENT(query);
26 }
27
28 void aclk_send_alarm_snapshot(alarm_snapshot_proto_ptr_t snapshot)
29 {
30 aclk_query_t *query = aclk_query_new(ALARM_SNAPSHOT);
31 query->data.bin_payload.payload = generate_alarm_snapshot_bin(&query->data.bin_payload.size, snapshot);
32 query->data.bin_payload.topic = ACLK_TOPICID_ALARM_SNAPSHOT;
33 query->data.bin_payload.msg_name = "AlarmSnapshot";
34 QUEUE_IF_PAYLOAD_PRESENT(query);
35 }