Home | History | Annotate | Download | only in chrome_frame
      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