aclk_charts_api.c 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. // SPDX-License-Identifier: GPL-3.0-or-later
  2. #include "aclk_charts_api.h"
  3. #include "aclk_query_queue.h"
  4. #define CHART_DIM_UPDATE_NAME "ChartsAndDimensionsUpdated"
  5. void aclk_chart_inst_update(char **payloads, size_t *payload_sizes, struct aclk_message_position *new_positions)
  6. {
  7. aclk_query_t query = aclk_query_new(CHART_DIMS_UPDATE);
  8. query->data.bin_payload.payload = generate_charts_updated(&query->data.bin_payload.size, payloads, payload_sizes, new_positions);
  9. query->data.bin_payload.msg_name = CHART_DIM_UPDATE_NAME;
  10. QUEUE_IF_PAYLOAD_PRESENT(query);
  11. }
  12. void aclk_chart_dim_update(char **payloads, size_t *payload_sizes, struct aclk_message_position *new_positions)
  13. {
  14. aclk_query_t query = aclk_query_new(CHART_DIMS_UPDATE);
  15. query->data.bin_payload.topic = ACLK_TOPICID_CHART_DIMS;
  16. query->data.bin_payload.payload = generate_chart_dimensions_updated(&query->data.bin_payload.size, payloads, payload_sizes, new_positions);
  17. query->data.bin_payload.msg_name = CHART_DIM_UPDATE_NAME;
  18. QUEUE_IF_PAYLOAD_PRESENT(query);
  19. }
  20. void aclk_chart_inst_and_dim_update(char **payloads, size_t *payload_sizes, int *is_dim, struct aclk_message_position *new_positions, uint64_t batch_id)
  21. {
  22. aclk_query_t query = aclk_query_new(CHART_DIMS_UPDATE);
  23. query->data.bin_payload.topic = ACLK_TOPICID_CHART_DIMS;
  24. query->data.bin_payload.payload = generate_charts_and_dimensions_updated(&query->data.bin_payload.size, payloads, payload_sizes, is_dim, new_positions, batch_id);
  25. query->data.bin_payload.msg_name = CHART_DIM_UPDATE_NAME;
  26. QUEUE_IF_PAYLOAD_PRESENT(query);
  27. }
  28. void aclk_chart_config_updated(struct chart_config_updated *config_list, int list_size)
  29. {
  30. aclk_query_t query = aclk_query_new(CHART_CONFIG_UPDATED);
  31. query->data.bin_payload.topic = ACLK_TOPICID_CHART_CONFIGS_UPDATED;
  32. query->data.bin_payload.payload = generate_chart_configs_updated(&query->data.bin_payload.size, config_list, list_size);
  33. query->data.bin_payload.msg_name = "ChartConfigsUpdated";
  34. QUEUE_IF_PAYLOAD_PRESENT(query);
  35. }
  36. void aclk_chart_reset(chart_reset_t reset)
  37. {
  38. aclk_query_t query = aclk_query_new(CHART_RESET);
  39. query->data.bin_payload.topic = ACLK_TOPICID_CHART_RESET;
  40. query->data.bin_payload.payload = generate_reset_chart_messages(&query->data.bin_payload.size, reset);
  41. query->data.bin_payload.msg_name = "ResetChartMessages";
  42. QUEUE_IF_PAYLOAD_PRESENT(query);
  43. }
  44. void aclk_retention_updated(struct retention_updated *data)
  45. {
  46. aclk_query_t query = aclk_query_new(RETENTION_UPDATED);
  47. query->data.bin_payload.topic = ACLK_TOPICID_RETENTION_UPDATED;
  48. query->data.bin_payload.payload = generate_retention_updated(&query->data.bin_payload.size, data);
  49. query->data.bin_payload.msg_name = "RetentionUpdated";
  50. QUEUE_IF_PAYLOAD_PRESENT(query);
  51. }
  52. void aclk_update_node_info(struct update_node_info *info)
  53. {
  54. aclk_query_t query = aclk_query_new(UPDATE_NODE_INFO);
  55. query->data.bin_payload.topic = ACLK_TOPICID_NODE_INFO;
  56. query->data.bin_payload.payload = generate_update_node_info_message(&query->data.bin_payload.size, info);
  57. query->data.bin_payload.msg_name = "UpdateNodeInfo";
  58. QUEUE_IF_PAYLOAD_PRESENT(query);
  59. }
  60. void aclk_update_node_collectors(struct update_node_collectors *collectors)
  61. {
  62. aclk_query_t query = aclk_query_new(UPDATE_NODE_COLLECTORS);
  63. query->data.bin_payload.topic = ACLK_TOPICID_NODE_COLLECTORS;
  64. query->data.bin_payload.payload = generate_update_node_collectors_message(&query->data.bin_payload.size, collectors);
  65. query->data.bin_payload.msg_name = "UpdateNodeCollectors";
  66. QUEUE_IF_PAYLOAD_PRESENT(query);
  67. }