ocpp 0.24.1
A C++ implementation of the Open Charge Point Protocol
charging_station_base.hpp
1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2020 - 2023 Pionix GmbH and Contributors to EVerest
3#ifndef OCPP_COMMON_CHARGE_POINT_HPP
4#define OCPP_COMMON_CHARGE_POINT_HPP
5
6#include <boost/shared_ptr.hpp>
7
8#include <ocpp/common/evse_security.hpp>
9#include <ocpp/common/evse_security_impl.hpp>
10#include <ocpp/common/message_queue.hpp>
11#include <ocpp/common/ocpp_logging.hpp>
12
13namespace ocpp {
14
17
18protected:
19 std::shared_ptr<EvseSecurity> evse_security;
20 std::shared_ptr<MessageLogging> logging;
21
22 boost::shared_ptr<boost::asio::io_service::work> work;
23 boost::asio::io_service io_service;
24 std::thread io_service_thread;
25
26public:
32 explicit ChargingStationBase(const std::shared_ptr<EvseSecurity> evse_security,
33 const std::optional<SecurityConfiguration> security_configuration = std::nullopt);
34 virtual ~ChargingStationBase();
35};
36
37} // namespace ocpp
38
39#endif // OCPP_COMMON
Common base class for OCPP1.6 and OCPP2.0.1 charging stations.
Definition: charging_station_base.hpp:16
ChargingStationBase(const std::shared_ptr< EvseSecurity > evse_security, const std::optional< SecurityConfiguration > security_configuration=std::nullopt)
Constructor for ChargingStationBase.
Definition: charging_station_base.cpp:8