4#ifndef OCPP_NOTIFY_REPORT_REQUESTS_SPLITTER_HPP
5#define OCPP_NOTIFY_REPORT_REQUESTS_SPLITTER_HPP
7#include "ocpp/common/call_types.hpp"
8#include "ocpp/v2/messages/NotifyReport.hpp"
9#include "ocpp/v2/types.hpp"
19 static const std::string MESSAGE_TYPE;
23 const std::function<
MessageId()> message_id_generator_callback;
24 json request_json_template;
26 const size_t json_skeleton_size;
31 std::function<
MessageId()>&& message_id_generator_callback);
39 size_t create_request_template_json_and_return_skeleton_size();
42 json create_next_payload(
const int& seq_no, std::vector<ocpp::v2::ReportData>::const_iterator& report_data_iterator,
43 const std::vector<ocpp::v2::ReportData>::const_iterator& report_data_end,
44 const std::string& message_id);
47 static json create_next_report_data_json(std::vector<ocpp::v2::ReportData>::const_iterator& report_data_iterator,
48 const std::vector<ocpp::v2::ReportData>::const_iterator& report_data_end,
49 const size_t& remaining_size);
Contains a MessageId implementation based on a case insensitive string with a maximum length of 36 pr...
Definition: call_types.hpp:34
Utility class that is used to split NotifyReportRequest into several ones in case ReportData is too b...
Definition: notify_report_requests_splitter.hpp:15
std::vector< json > create_call_payloads()
Splits the provided NotifyReportRequest into (potentially) several Call payloads.
Definition: notify_report_requests_splitter.cpp:13
Contains a OCPP NotifyReport message.
Definition: NotifyReport.hpp:19