6#include <ocpp/v2/message_handler.hpp>
8#include <ocpp/v2/monitoring_updater.hpp>
11class AuthorizationInterface;
12struct FunctionalBlockContext;
16struct CustomerInformationRequest;
17struct SetMonitoringBaseRequest;
18struct SetMonitoringLevelRequest;
19struct GetMonitoringReportRequest;
20struct ClearVariableMonitoringRequest;
22typedef std::function<GetLogResponse(
const GetLogRequest& request)> GetLogRequestCallback;
23typedef std::function<std::string(
const std::optional<CertificateHashDataType> customer_certificate,
24 const std::optional<IdToken> id_token,
25 const std::optional<CiString<64>> customer_identifier)>
26 GetCustomerInformationCallback;
27typedef std::function<void(
const std::optional<CertificateHashDataType> customer_certificate,
28 const std::optional<IdToken> id_token,
29 const std::optional<CiString<64>> customer_identifier)>
30 ClearCustomerInformationCallback;
37 virtual void notify_event_req(
const std::vector<EventData>& events) = 0;
40 virtual void stop_monitoring() = 0;
41 virtual void start_monitoring() = 0;
42 virtual void process_triggered_monitors() = 0;
48 GetLogRequestCallback get_log_request_callback,
49 std::optional<GetCustomerInformationCallback> get_customer_information_callback,
50 std::optional<ClearCustomerInformationCallback> clear_customer_information_callback);
52 void notify_event_req(
const std::vector<EventData>& events)
override;
53 void stop_monitoring()
override;
54 void start_monitoring()
override;
55 void process_triggered_monitors()
override;
62 GetLogRequestCallback get_log_request_callback;
65 std::optional<GetCustomerInformationCallback> get_customer_information_callback;
68 std::optional<ClearCustomerInformationCallback> clear_customer_information_callback;
72 void notify_customer_information_req(
const std::string& data,
const int32_t request_id);
73 void notify_monitoring_report_req(
const int request_id,
const std::vector<MonitoringData>& montoring_data);
94 std::string get_customer_information(
const std::optional<CertificateHashDataType> customer_certificate,
95 const std::optional<IdToken> id_token,
104 void clear_customer_information(
const std::optional<CertificateHashDataType> customer_certificate,
105 const std::optional<IdToken> id_token,
Contains a CaseInsensitive string implementation that only allows printable ASCII characters.
Definition: cistring.hpp:16
Definition: authorization.hpp:18
Definition: diagnostics.hpp:32
Definition: diagnostics.hpp:45
void handle_message(const ocpp::EnhancedMessage< MessageType > &message) override
Handles the given message from the CSMS. This includes dispatching a CALLRESULT as a response to the ...
Definition: diagnostics.cpp:44
Interface for handling OCPP2.0.1 CALL messages from the CSMS. Classes implementing a functional block...
Definition: message_handler.hpp:13
Definition: monitoring_updater.hpp:99
Contains a OCPP Call message.
Definition: call_types.hpp:60
Contains a OCPP message in json form with additional information.
Definition: message_queue.hpp:54
Context / requirements for the functional blocks.
Definition: functional_block_context.hpp:23