blob: e1a8e9ff73da47ca2acf0fcce01b72cce498b9aa [file] [log] [blame]
// Copyright 2023 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.
#ifndef SRC_DEVELOPER_FORENSICS_CRASH_REPORTS_FILING_RESULT_H_
#define SRC_DEVELOPER_FORENSICS_CRASH_REPORTS_FILING_RESULT_H_
#include <fuchsia/feedback/cpp/fidl.h>
#include <lib/fit/function.h>
#include <lib/fpromise/promise.h>
#include <string>
namespace forensics::crash_reports {
enum class FilingResult {
kReportUploaded = 0,
kReportOnDisk = 1,
kReportInMemory = 2,
kReportNotFiledUserOptedOut = 3,
kInvalidArgsError = 4,
kServerError = 5,
kPersistenceError = 6,
kQuotaReachedError = 7,
};
using FilingResultFn = fit::callback<void(FilingResult, std::string)>;
fpromise::result<fuchsia::feedback::FilingSuccess, fuchsia::feedback::FilingError>
ToFidlFilingResult(FilingResult result);
} // namespace forensics::crash_reports
#endif // SRC_DEVELOPER_FORENSICS_CRASH_REPORTS_FILING_RESULT_H_