ocpp 0.24.1
A C++ implementation of the Open Charge Point Protocol
connector.hpp
1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2020 - 2023 Pionix GmbH and Contributors to EVerest
3
4#ifndef OCPP_V16_CONNECTOR_HPP
5#define OCPP_V16_CONNECTOR_HPP
6
7#include <ocpp/v16/ocpp_types.hpp>
8#include <ocpp/v16/transaction.hpp>
9#include <ocpp/v16/types.hpp>
10
11namespace ocpp {
12namespace v16 {
13
14struct Connector {
15 int32_t id;
16 std::optional<Measurement> measurement;
17 double max_current_offered = 0;
18 double max_power_offered = 0;
19 std::shared_ptr<Transaction> transaction = nullptr;
20 std::map<int, ChargingProfile> stack_level_tx_default_profiles_map;
21 std::map<int, ChargingProfile> stack_level_tx_profiles_map;
22 std::optional<std::vector<ChargePointStatus>> trigger_metervalue_on_status;
23 std::optional<double> trigger_metervalue_on_power_kw;
24 std::optional<double> trigger_metervalue_on_energy_kwh;
25 std::unique_ptr<Everest::SystemTimer> trigger_metervalue_at_time_timer;
26 std::optional<ChargePointStatus> previous_status;
27 std::optional<double> last_triggered_metervalue_power_kw;
28
29 explicit Connector(const int id) : id(id) {
30 }
31 ~Connector() = default;
32 Connector& operator=(const Connector&) = delete;
33 Connector(const Connector&) = delete;
34};
35
36} // namespace v16
37} // namespace ocpp
38
39#endif
Definition: connector.hpp:14