1// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_FRAME_CRASH_SERVER_INIT_H_ 6#define CHROME_FRAME_CRASH_SERVER_INIT_H_ 7 8#include "breakpad/src/client/windows/handler/exception_handler.h" 9 10// Possible names for Pipes: 11// Headless (testing) mode: "NamedPipe\ChromeCrashServices" 12// System-wide install: "NamedPipe\GoogleCrashServices\S-1-5-18" 13// Per-user install: "NamedPipe\GoogleCrashServices\<user SID>" 14extern const wchar_t kChromePipeName[]; 15extern const wchar_t kGoogleUpdatePipeName[]; 16extern const wchar_t kSystemPrincipalSid[]; 17 18extern const MINIDUMP_TYPE kLargerDumpType; 19 20enum CrashReportingMode { 21 HEADLESS, // Used for testing, uses crash_service.exe for dumps. 22 NORMAL // Regular mode, uses GoogleCrashService.exe for dumps. 23}; 24 25// Returns a pointer to a static instance of a CustomClientInfo structure 26// containing Chrome Frame specific data. 27google_breakpad::CustomClientInfo* GetCustomInfo(); 28 29// Initializes breakpad crash reporting and returns a pointer to a newly 30// constructed ExceptionHandler object. It is the responsibility of the caller 31// to delete this object which will shut down the crash reporting machinery. 32google_breakpad::ExceptionHandler* InitializeCrashReporting( 33 CrashReportingMode mode); 34 35#endif // CHROME_FRAME_CRASH_SERVER_INIT_H_ 36