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>" 14 extern const wchar_t kChromePipeName[]; 15 extern const wchar_t kGoogleUpdatePipeName[]; 16 extern const wchar_t kSystemPrincipalSid[]; 17 18 extern const MINIDUMP_TYPE kLargerDumpType; 19 20 enum 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. 27 google_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. 32 google_breakpad::ExceptionHandler* InitializeCrashReporting( 33 CrashReportingMode mode); 34 35 #endif // CHROME_FRAME_CRASH_SERVER_INIT_H_ 36