Files
cariflex/tools/EVerest-main/modules/API/RpcApi/rpc/methods/Api.cpp
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

56 lines
1.3 KiB
C++

// SPDX-License-Identifier: Apache-2.0
// Copyright chargebyte GmbH and Contributors to EVerest
#include "Api.hpp"
using namespace data;
namespace methods {
RPCDataTypes::HelloResObj Api::hello() {
RPCDataTypes::HelloResObj res{};
// check if data is valid
const auto _chargerinfo = m_dataobj.chargerinfo.get_data();
if (not _chargerinfo.has_value()) {
throw std::runtime_error("Data is not valid");
}
res.charger_info = _chargerinfo.value();
res.authentication_required = is_authentication_required();
res.api_version = get_api_version();
res.everest_version = m_dataobj.everest_version;
if (m_authenticated.has_value()) {
res.authenticated = m_authenticated.value();
}
return res;
}
void Api::set_authentication_required(bool required) {
m_authentication_required = required;
}
bool Api::is_authentication_required() const {
return m_authentication_required;
}
void Api::set_api_version(const std::string& version) {
m_api_version = version;
}
const std::string& Api::get_api_version() const {
return m_api_version;
}
void Api::set_authenticated(bool authenticated) {
m_authenticated = authenticated;
}
bool Api::is_authenticated() const {
if (m_authenticated.has_value()) {
return m_authenticated.value();
}
return false;
}
} // namespace methods