5#ifndef OCPP_V16_OCPP_TYPES_HPP
6#define OCPP_V16_OCPP_TYPES_HPP
10#include <nlohmann/json_fwd.hpp>
13#include <ocpp/common/types.hpp>
14#include <ocpp/v16/ocpp_enums.hpp>
15#include <ocpp/v16/types.hpp>
21 AuthorizationStatus status;
22 std::optional<ocpp::DateTime> expiryDate;
23 std::optional<CiString<20>> parentIdTag;
29void from_json(
const json& j,
IdTagInfo& k);
33std::ostream& operator<<(std::ostream& os,
const IdTagInfo& k);
36 HashAlgorithmEnumType hashAlgorithm;
54 std::optional<int32_t> numberPhases;
67 ChargingRateUnit chargingRateUnit;
68 std::vector<ChargingSchedulePeriod> chargingSchedulePeriod;
69 std::optional<int32_t> duration;
70 std::optional<ocpp::DateTime> startSchedule;
71 std::optional<float> minChargingRate;
86 std::optional<CiString<500>> value;
89void to_json(json& j,
const KeyValue& k);
92void from_json(
const json& j,
KeyValue& k);
96std::ostream& operator<<(std::ostream& os,
const KeyValue& k);
100 std::optional<ocpp::DateTime> oldestTimestamp;
101 std::optional<ocpp::DateTime> latestTimestamp;
115 std::optional<ReadingContext> context;
116 std::optional<ValueFormat> format;
117 std::optional<Measurand> measurand;
118 std::optional<Phase> phase;
119 std::optional<Location> location;
120 std::optional<UnitOfMeasure> unit;
130std::ostream& operator<<(std::ostream& os,
const SampledValue& k);
134 std::vector<SampledValue> sampledValue;
144std::ostream& operator<<(std::ostream& os,
const MeterValue& k);
147 int32_t chargingProfileId;
149 ChargingProfilePurposeType chargingProfilePurpose;
150 ChargingProfileKindType chargingProfileKind;
152 std::optional<int32_t> transactionId;
153 std::optional<RecurrencyKindType> recurrencyKind;
154 std::optional<ocpp::DateTime> validFrom;
155 std::optional<ocpp::DateTime> validTo;
169 std::optional<IdTagInfo> idTagInfo;
186 std::optional<ocpp::DateTime> installDateTime;
196std::ostream& operator<<(std::ostream& os,
const FirmwareType& k);
200 std::vector<SampledValue> sampledValue;
Contains a DateTime implementation that can parse and create RFC 3339 compatible strings.
Definition: types.hpp:109
Definition: ocpp_types.hpp:35
Definition: ocpp_types.hpp:146
Definition: ocpp_types.hpp:51
Definition: ocpp_types.hpp:66
Definition: ocpp_types.hpp:181
Definition: ocpp_types.hpp:20
Definition: ocpp_types.hpp:83
Definition: ocpp_types.hpp:167
Definition: ocpp_types.hpp:98
Definition: ocpp_types.hpp:132
Definition: ocpp_types.hpp:113
Definition: ocpp_types.hpp:198