blob: da9fd6e0c9ded30e048435f6b967c35e62aed0df [file] [log] [blame]
// Copyright 2019 The Chromium 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 COBALT_UPDATER_CRASH_REPORTER_H_
#define COBALT_UPDATER_CRASH_REPORTER_H_
#include <string>
#include "base/strings/string16.h"
#include "build/build_config.h"
namespace cobalt {
namespace updater {
// Starts a new instance of this executable running as the crash reporter
// process.
void StartCrashReporter(const std::string& version);
// Runs the crash reporter message loop within the current process. On return,
// the current process should exit.
int CrashReporterMain();
#if defined(OS_WIN)
// Returns the name of the IPC pipe that is used to communicate with the
// crash reporter process, or an empty string if the current process is
// not connected to a crash reporter process.
base::string16 GetCrashReporterIPCPipeName();
// Uses the crash reporter with the specified |ipc_pipe_name|, instead of
// starting a new crash reporter process.
void UseCrashReporter(const base::string16& ipc_pipe_name);
#endif // OS_WIN
} // namespace updater
} // namespace cobalt
#endif // COBALT_UPDATER_CRASH_REPORTER_H_