blob: bc0a086ab24fbfc678ce26adb86ce46d35db3b34 [file] [log] [blame] [edit]
// Copyright 2022 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef RMAD_DAEMON_DBUS_DATA_SERIALIZATION_H_
#define RMAD_DAEMON_DBUS_DATA_SERIALIZATION_H_
#include <string>
#include <brillo/dbus/data_serialization.h>
#include "rmad/proto_bindings/rmad.pb.h"
namespace brillo {
namespace dbus_utils {
void AppendValueToWriter(dbus::MessageWriter* writer,
const rmad::HardwareVerificationResult& value);
void AppendValueToWriter(dbus::MessageWriter* writer,
const rmad::CalibrationComponentStatus& value);
void AppendValueToWriter(dbus::MessageWriter* writer,
const rmad::ProvisionStatus& value);
void AppendValueToWriter(dbus::MessageWriter* writer,
const rmad::FinalizeStatus& value);
bool PopValueFromReader(dbus::MessageReader* reader,
rmad::HardwareVerificationResult* value);
bool PopValueFromReader(dbus::MessageReader* reader,
rmad::CalibrationComponentStatus* value);
bool PopValueFromReader(dbus::MessageReader* reader,
rmad::ProvisionStatus* value);
bool PopValueFromReader(dbus::MessageReader* reader,
rmad::FinalizeStatus* value);
// DBusType definition for signals.
template <>
struct DBusType<rmad::RmadErrorCode> {
static std::string GetSignature();
static void Write(dbus::MessageWriter* writer,
const rmad::RmadErrorCode value);
static bool Read(dbus::MessageReader* reader, rmad::RmadErrorCode* value);
};
template <>
struct DBusType<rmad::HardwareVerificationResult> {
static std::string GetSignature();
static void Write(dbus::MessageWriter* writer,
const rmad::HardwareVerificationResult& value);
static bool Read(dbus::MessageReader* reader,
rmad::HardwareVerificationResult* value);
};
template <>
struct DBusType<rmad::UpdateRoFirmwareStatus> {
static std::string GetSignature();
static void Write(dbus::MessageWriter* writer,
const rmad::UpdateRoFirmwareStatus status);
static bool Read(dbus::MessageReader* reader,
rmad::UpdateRoFirmwareStatus* status);
};
template <>
struct DBusType<rmad::CalibrationOverallStatus> {
static std::string GetSignature();
static void Write(dbus::MessageWriter* writer,
const rmad::CalibrationOverallStatus value);
static bool Read(dbus::MessageReader* reader,
rmad::CalibrationOverallStatus* value);
};
template <>
struct DBusType<rmad::CalibrationComponentStatus> {
static std::string GetSignature();
static void Write(dbus::MessageWriter* writer,
const rmad::CalibrationComponentStatus& value);
static bool Read(dbus::MessageReader* reader,
rmad::CalibrationComponentStatus* value);
};
template <>
struct DBusType<rmad::ProvisionStatus> {
static std::string GetSignature();
static void Write(dbus::MessageWriter* writer,
const rmad::ProvisionStatus& value);
static bool Read(dbus::MessageReader* reader, rmad::ProvisionStatus* value);
};
template <>
struct DBusType<rmad::FinalizeStatus> {
static std::string GetSignature();
static void Write(dbus::MessageWriter* writer,
const rmad::FinalizeStatus& value);
static bool Read(dbus::MessageReader* reader, rmad::FinalizeStatus* value);
};
} // namespace dbus_utils
} // namespace brillo
#endif // RMAD_DAEMON_DBUS_DATA_SERIALIZATION_H_