Files
cariflex/tools/EVerest-main/modules/API/RpcApi/rpc/notifications/ChargePoint.hpp
Eric F d398a6ced2 Add extracted tools: CitrineOS, OpenOCPP, ShapeShifter
- CitrineOS core extracted (CSMS OCPP 2.0.1)
- OpenOCPP extracted (firmware OCPP 1.6J/2.0.1)
- ShapeShifter library installed (pip install -e)
- ShapeShifter specification extracted
- EVerest extracted

TODO updated with progress
2026-06-08 00:38:27 -04:00

41 lines
1.2 KiB
C++

// SPDX-License-Identifier: Apache-2.0
// Copyright chargebyte GmbH and Contributors to EVerest
#ifndef NOTIFICATIONS_CHARGEPOINT_HPP
#define NOTIFICATIONS_CHARGEPOINT_HPP
#include "../../data/DataStore.hpp"
#include <jsonrpccxx/client.hpp>
namespace RPCDataTypes = types::json_rpc_api;
// forward declaration
namespace rpc {
class JsonRpc2ServerWithClient;
}
namespace notifications {
class ChargePoint {
public:
// Constructor and Destructor
// Deleting the default constructor to ensure the class is always initialized with a DataStoreCharger object
ChargePoint() = delete;
// This needs to take a copy of rpc_server for reference counting, not a reference to it
ChargePoint(std::shared_ptr<rpc::JsonRpc2ServerWithClient> rpc_server, data::DataStoreCharger& dataobj,
int precision = 3);
~ChargePoint() = default;
// Notifications
void send_active_errors_changed(const std::vector<RPCDataTypes::ErrorObj>& active_errors);
private:
// Reference to the DataStoreCharger object that holds EVSE data
data::DataStoreCharger& m_dataobj;
std::shared_ptr<rpc::JsonRpc2ServerWithClient> m_rpc_server;
int m_precision = 3;
};
} // namespace notifications
#endif // NOTIFICATIONS_CHARGEPOINT_HPP