ocpp 0.24.1
A C++ implementation of the Open Charge Point Protocol
display_message.hpp
1// SPDX-License-Identifier: Apache-2.0
2// Copyright Pionix GmbH and Contributors to EVerest
3
4#pragma once
5
6#include <ocpp/v2/message_handler.hpp>
7
8#include <ocpp/v2/messages/SetDisplayMessage.hpp>
9
10namespace ocpp::v2 {
11struct FunctionalBlockContext;
12struct GetDisplayMessagesRequest;
13struct ClearDisplayMessageResponse;
14struct ClearDisplayMessageRequest;
15
21DisplayMessageContent message_content_to_display_message_content(const MessageContent& message_content);
27std::optional<MessageInfo> display_message_to_message_info_type(const DisplayMessage& display_message);
33DisplayMessage message_info_to_display_message(const MessageInfo& message_info);
34
35typedef std::function<std::vector<ocpp::DisplayMessage>(const GetDisplayMessagesRequest& request)>
36 GetDisplayMessageCallback;
37typedef std::function<SetDisplayMessageResponse(const std::vector<DisplayMessage>& display_messages)>
38 SetDisplayMessageCallback;
39typedef std::function<ClearDisplayMessageResponse(const ClearDisplayMessageRequest& request)>
40 ClearDisplayMessageCallback;
41
43public:
44 virtual ~DisplayMessageInterface() = default;
45};
46
48
49public:
50 DisplayMessageBlock(const FunctionalBlockContext& functional_block_context,
51 GetDisplayMessageCallback get_display_message_callback,
52 SetDisplayMessageCallback set_display_message_callback,
53 ClearDisplayMessageCallback clear_display_message_callback);
54 virtual void handle_message(const ocpp::EnhancedMessage<MessageType>& message) override;
55
56private:
57 const FunctionalBlockContext& context;
58
59 GetDisplayMessageCallback get_display_message_callback;
60 SetDisplayMessageCallback set_display_message_callback;
61 ClearDisplayMessageCallback clear_display_message_callback;
62
63 void handle_get_display_message(Call<GetDisplayMessagesRequest> call);
64 void handle_set_display_message(Call<SetDisplayMessageRequest> call);
65 void handle_clear_display_message(Call<ClearDisplayMessageRequest> call);
66};
67
68} // namespace ocpp::v2
Definition: display_message.hpp:47
virtual 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: display_message.cpp:26
Definition: display_message.hpp:42
Interface for handling OCPP2.0.1 CALL messages from the CSMS. Classes implementing a functional block...
Definition: message_handler.hpp:13
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