blob: 4dcb8b77ac95c3925c8e8c4ebaf6e025388b8a68 [file] [log] [blame]
// Copyright 2021 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <string>
#include "libec/get_version_command.h"
namespace ec {
std::string GetVersionCommand::RWVersion() const {
return rw_version_;
}
std::string GetVersionCommand::ROVersion() const {
return ro_version_;
}
ec_image GetVersionCommand::Image() const {
return image_;
}
bool GetVersionCommand::Run(int fd) {
bool ret = EcCommandRun(fd);
if (!ret) {
return false;
}
// The buffers should already be NUL terminated, but be safe.
Resp()->version_string_ro[sizeof(Resp()->version_string_ro) - 1] = '\0';
Resp()->version_string_rw[sizeof(Resp()->version_string_rw) - 1] = '\0';
ro_version_ = std::string(Resp()->version_string_ro);
rw_version_ = std::string(Resp()->version_string_rw);
image_ = static_cast<ec_image>(Resp()->current_image);
return true;
}
bool GetVersionCommand::EcCommandRun(int fd) {
return EcCommand::Run(fd);
}
} // namespace ec