blob: 5238c22c845d12198d63005c346ef04bcbb8368d [file] [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.
#include "modemfwd/error.h"
#include <unordered_set>
#include <base/check.h>
#include <base/strings/stringprintf.h>
#include <brillo/errors/error_codes.h>
#include <dbus/modemfwd/dbus-constants.h>
namespace modemfwd {
const char kModemfwdErrorDomain[] = "modemfwd";
namespace error {
const char kDlcServiceInstallErrorAllocation[] =
"dlcServiceInstallErrorAllocation";
const char kDlcServiceInstallErrorBusy[] = "dlcServiceInstallErrorBusy";
const char kDlcServiceInstallErrorInvalidDlc[] =
"dlcServiceInstallErrorInvalidDlc";
const char kDlcServiceInstallErrorInternal[] = "dlcServiceInstallErrorInternal";
const char kDlcServiceInstallErrorNeedReboot[] =
"dlcServiceInstallErrorNeedReboot";
const char kDlcServiceInstallErrorNoImage[] = "dlcServiceInstallErrorNoImage";
const char kDlcServiceReturnedErrorOnGetDlcState[] =
"dlcServiceReturnedErrorOnFailedToGetDlcState";
const char kDlcServiceReturnedErrorOnInstall[] =
"dlcServiceReturnedErrorOnInstall";
const char kDlcServiceReturnedErrorOnPurge[] = "dlcServiceReturnedErrorOnPurge";
const char kUnexpectedDlcState[] = "unexpectedDlcState";
const char kUnexpectedEmptyDlcId[] = "unexpectedEmptyDlcId";
const char kUnexpectedEmptyVariant[] = "unexpectedEmptyVariant";
const char kTimeoutWaitingForInstalledState[] = "unexpectedInstallStep";
const char kTimeoutWaitingForDlcService[] = "timeoutWaitingForDlcService";
const char kTimeoutWaitingForDlcInstall[] = "timeoutWaitingForDlcInstall";
const char kHeartbeatResetFailure[] = "heartbeatResetFailure";
const char kHeartbeatHealthCheckFailure[] = "heartbeatHealthCheckFailure";
} // namespace error
// static
brillo::ErrorPtr Error::Create(const base::Location& location,
const std::string& code,
const std::string& msg) {
return brillo::Error::Create(location, kModemfwdErrorDomain, code, msg);
}
// static
void Error::AddTo(brillo::ErrorPtr* error,
const base::Location& location,
const std::string& code,
const std::string& message) {
brillo::Error::AddTo(error, location, kModemfwdErrorDomain, code, message);
}
// static
brillo::ErrorPtr Error::CreateFromDbusError(brillo::Error* dbus_error) {
if (!dbus_error) {
return brillo::Error::Create(FROM_HERE, kModemfwdErrorDomain, "", "");
}
return brillo::Error::Create(dbus_error->GetLocation(),
dbus_error->GetDomain(), dbus_error->GetCode(),
dbus_error->GetMessage());
}
} // namespace modemfwd