blob: 986a969e2ed3b0e429b93a719c4cf25d08e6cc8e [file] [log] [blame]
// Copyright 2018 The Fuchsia 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 "garnet/bin/cobalt/app/utils.h"
#include "third_party/cobalt/util/pem_util.h"
namespace cobalt {
using encoder::ObservationStore;
using fuchsia::cobalt::Status;
Status ToCobaltStatus(ObservationStore::StoreStatus s) {
switch (s) {
case ObservationStore::kOk:
return Status::OK;
case ObservationStore::kObservationTooBig:
return Status::EVENT_TOO_BIG;
case ObservationStore::kStoreFull:
return Status::BUFFER_FULL;
case ObservationStore::kWriteFailed:
return Status::INTERNAL_ERROR;
}
}
Status ToCobaltStatus(logger::Status s) {
switch (s) {
case logger::Status::kOK:
return Status::OK;
case logger::Status::kInvalidArguments:
case logger::Status::kInvalidConfig:
return Status::INVALID_ARGUMENTS;
case logger::Status::kTooBig:
return Status::EVENT_TOO_BIG;
case logger::Status::kFull:
return Status::BUFFER_FULL;
case logger::Status::kOther:
return Status::INTERNAL_ERROR;
}
}
Status ToCobaltStatus(util::Status s) {
switch (s.error_code()) {
case util::StatusCode::OK:
return Status::OK;
case util::StatusCode::INVALID_ARGUMENT:
return Status::INVALID_ARGUMENTS;
case util::StatusCode::RESOURCE_EXHAUSTED:
return Status::BUFFER_FULL;
case util::StatusCode::CANCELLED:
case util::StatusCode::UNKNOWN:
case util::StatusCode::DEADLINE_EXCEEDED:
case util::StatusCode::NOT_FOUND:
case util::StatusCode::ALREADY_EXISTS:
case util::StatusCode::PERMISSION_DENIED:
case util::StatusCode::FAILED_PRECONDITION:
case util::StatusCode::ABORTED:
case util::StatusCode::OUT_OF_RANGE:
case util::StatusCode::UNIMPLEMENTED:
case util::StatusCode::INTERNAL:
case util::StatusCode::UNAVAILABLE:
case util::StatusCode::DATA_LOSS:
case util::StatusCode::UNAUTHENTICATED:
default:
return Status::INTERNAL_ERROR;
}
}
std::string ReadPublicKeyPem(const std::string& pem_file_path) {
VLOG(2) << "Reading PEM file at " << pem_file_path;
std::string pem_out;
FXL_CHECK(util::PemUtil::ReadTextFile(pem_file_path, &pem_out))
<< "Unable to read file public key PEM file from path " << pem_file_path
<< ".";
return pem_out;
}
} // namespace cobalt