summaryrefslogtreecommitdiffstats
path: root/toolkit/crashreporter/google-breakpad/src/client/mac/Framework/Breakpad.h
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/crashreporter/google-breakpad/src/client/mac/Framework/Breakpad.h')
-rw-r--r--toolkit/crashreporter/google-breakpad/src/client/mac/Framework/Breakpad.h285
1 files changed, 0 insertions, 285 deletions
diff --git a/toolkit/crashreporter/google-breakpad/src/client/mac/Framework/Breakpad.h b/toolkit/crashreporter/google-breakpad/src/client/mac/Framework/Breakpad.h
deleted file mode 100644
index dc7e45d1c..000000000
--- a/toolkit/crashreporter/google-breakpad/src/client/mac/Framework/Breakpad.h
+++ /dev/null
@@ -1,285 +0,0 @@
-// Copyright (c) 2006, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// Framework to provide a simple C API to crash reporting for
-// applications. By default, if any machine-level exception (e.g.,
-// EXC_BAD_ACCESS) occurs, it will be handled by the BreakpadRef
-// object as follows:
-//
-// 1. Create a minidump file (see Breakpad for details)
-// 2. Prompt the user (using CFUserNotification)
-// 3. Invoke a command line reporting tool to send the minidump to a
-// server
-//
-// By specifying parameters to the BreakpadCreate function, you can
-// modify the default behavior to suit your needs and wants and
-// desires.
-
-// A service name associated with the original bootstrap parent port, saved in
-// OnDemandServer and restored in Inspector.
-#define BREAKPAD_BOOTSTRAP_PARENT_PORT "com.Breakpad.BootstrapParent"
-
-typedef void *BreakpadRef;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <CoreFoundation/CoreFoundation.h>
-#include <Foundation/Foundation.h>
-
-#include "BreakpadDefines.h"
-
-// Optional user-defined function to dec to decide if we should handle
-// this crash or forward it along.
-// Return true if you want Breakpad to handle it.
-// Return false if you want Breakpad to skip it
-// The exception handler always returns false, as if SEND_AND_EXIT were false
-// (which means the next exception handler will take the exception)
-typedef bool (*BreakpadFilterCallback)(int exception_type,
- int exception_code,
- mach_port_t crashing_thread,
- void *context);
-
-// Create a new BreakpadRef object and install it as an exception
-// handler. The |parameters| will typically be the contents of your
-// bundle's Info.plist.
-//
-// You can also specify these additional keys for customizable behavior:
-// Key: Value:
-// BREAKPAD_PRODUCT Product name (e.g., "MyAwesomeProduct")
-// This one is used as the key to identify
-// the product when uploading. Falls back to
-// CFBundleName if not specified.
-// REQUIRED
-//
-// BREAKPAD_PRODUCT_DISPLAY This is the display name, e.g. a pretty
-// name for the product when the crash_sender
-// pops up UI for the user. Falls back first to
-// CFBundleDisplayName and then to
-// BREAKPAD_PRODUCT if not specified.
-//
-// BREAKPAD_VERSION Product version (e.g., 1.2.3), used
-// as metadata for crash report. Falls back to
-// CFBundleVersion if not specified.
-// REQUIRED
-//
-// BREAKPAD_VENDOR Vendor name, used in UI (e.g. "A report has
-// been created that you can send to <vendor>")
-//
-// BREAKPAD_URL URL destination for reporting
-// REQUIRED
-//
-// BREAKPAD_REPORT_INTERVAL # of seconds between sending
-// reports. If an additional report is
-// generated within this time, it will
-// be ignored. Default: 3600sec.
-// Specify 0 to send all reports.
-//
-// BREAKPAD_SKIP_CONFIRM If true, the reporter will send the report
-// without any user intervention.
-// Defaults to NO
-//
-// BREAKPAD_CONFIRM_TIMEOUT Number of seconds before the upload
-// confirmation dialog will be automatically
-// dismissed (cancelling the upload).
-// Default: 300 seconds (min of 60).
-// Specify 0 to prevent timeout.
-//
-// BREAKPAD_SEND_AND_EXIT If true, the handler will exit after sending.
-// This will prevent any other handler (e.g.,
-// CrashReporter) from getting the crash.
-// Defaults TO YES
-//
-// BREAKPAD_DUMP_DIRECTORY The directory to store crash-dumps
-// in. By default, we use
-// ~/Library/Breakpad/<BREAKPAD_PRODUCT>
-// The path you specify here is tilde-expanded.
-//
-// BREAKPAD_INSPECTOR_LOCATION The full path to the Inspector executable.
-// Defaults to <Framework resources>/Inspector
-//
-// BREAKPAD_REPORTER_EXE_LOCATION The full path to the Reporter/sender
-// executable.
-// Default:
-// <Framework Resources>/crash_report_sender.app
-//
-// BREAKPAD_LOGFILES Indicates an array of log file paths that
-// should be uploaded at crash time.
-//
-// BREAKPAD_REQUEST_COMMENTS If true, the message dialog will have a
-// text box for the user to enter comments.
-// Default: NO
-//
-// BREAKPAD_REQUEST_EMAIL If true and BREAKPAD_REQUEST_COMMENTS is also
-// true, the message dialog will have a text
-// box for the user to enter their email address.
-// Default: NO
-//
-// BREAKPAD_SERVER_TYPE A parameter that tells Breakpad how to
-// rewrite the upload parameters for a specific
-// server type. The currently valid values are
-// 'socorro' or 'google'. If you want to add
-// other types, see the function in
-// crash_report_sender.m that maps parameters to
-// URL parameters. Defaults to 'google'.
-//
-// BREAKPAD_SERVER_PARAMETER_DICT A plist dictionary of static
-// parameters that are uploaded to the
-// server. The parameters are sent as
-// is to the crash server. Their
-// content isn't added to the minidump
-// but pass as URL parameters when
-// uploading theminidump to the crash
-// server.
-//
-// BREAKPAD_IN_PROCESS A boolean NSNumber value. If YES, Breakpad
-// will write the dump file in-process and then
-// launch the reporter executable as a child
-// process.
-//=============================================================================
-// The BREAKPAD_PRODUCT, BREAKPAD_VERSION and BREAKPAD_URL are
-// required to have non-NULL values. By default, the BREAKPAD_PRODUCT
-// will be the CFBundleName and the BREAKPAD_VERSION will be the
-// CFBundleVersion when these keys are present in the bundle's
-// Info.plist, which is usually passed in to BreakpadCreate() as an
-// NSDictionary (you could also pass in another dictionary that had
-// the same keys configured). If the BREAKPAD_PRODUCT or
-// BREAKPAD_VERSION are ultimately undefined, BreakpadCreate() will
-// fail. You have been warned.
-//
-// If you are running in a debugger, Breakpad will not install, unless the
-// BREAKPAD_IGNORE_DEBUGGER envionment variable is set and/or non-zero.
-//
-// The BREAKPAD_SKIP_CONFIRM and BREAKPAD_SEND_AND_EXIT default
-// values are NO and YES. However, they can be controlled by setting their
-// values in a user or global plist.
-//
-// It's easiest to use Breakpad via the Framework, but if you're compiling the
-// code in directly, BREAKPAD_INSPECTOR_LOCATION and
-// BREAKPAD_REPORTER_EXE_LOCATION allow you to specify custom paths
-// to the helper executables.
-//
-//=============================================================================
-// The following are NOT user-supplied but are documented here for
-// completeness. They are calculated by Breakpad during initialization &
-// crash-dump generation, or entered in by the user.
-//
-// BREAKPAD_PROCESS_START_TIME The time, in seconds since the Epoch, the
-// process started
-//
-// BREAKPAD_PROCESS_CRASH_TIME The time, in seconds since the Epoch, the
-// process crashed.
-//
-// BREAKPAD_PROCESS_UP_TIME The total time in milliseconds the process
-// has been running. This parameter is not
-// set until the crash-dump-generation phase.
-//
-// BREAKPAD_LOGFILE_KEY_PREFIX Used to find out which parameters in the
-// parameter dictionary correspond to log
-// file paths.
-//
-// BREAKPAD_SERVER_PARAMETER_PREFIX This prefix is used by Breakpad
-// internally, because Breakpad uses
-// the same dictionary internally to
-// track both its internal
-// configuration parameters and
-// parameters meant to be uploaded
-// to the server. This string is
-// used internally by Breakpad to
-// prefix user-supplied parameter
-// names so those can be sent to the
-// server without leaking Breakpad's
-// internal values.
-//
-// BREAKPAD_ON_DEMAND Used internally to indicate to the
-// Reporter that we're sending on-demand,
-// not as result of a crash.
-//
-// BREAKPAD_COMMENTS The text the user provided as comments.
-// Only used in crash_report_sender.
-
-// Returns a new BreakpadRef object on success, NULL otherwise.
-BreakpadRef BreakpadCreate(NSDictionary *parameters);
-
-// Uninstall and release the data associated with |ref|.
-void BreakpadRelease(BreakpadRef ref);
-
-// Clients may set an optional callback which gets called when a crash
-// occurs. The callback function should return |true| if we should
-// handle the crash, generate a crash report, etc. or |false| if we
-// should ignore it and forward the crash (normally to CrashReporter).
-// Context is a pointer to arbitrary data to make the callback with.
-void BreakpadSetFilterCallback(BreakpadRef ref,
- BreakpadFilterCallback callback,
- void *context);
-
-// User defined key and value string storage. Generally this is used
-// to configure Breakpad's internal operation, such as whether the
-// crash_sender should prompt the user, or the filesystem location for
-// the minidump file. See Breakpad.h for some parameters that can be
-// set. Anything longer than 255 bytes will be truncated. Note that
-// the string is converted to UTF8 before truncation, so any multibyte
-// character that straddles the 255(256 - 1 for terminator) byte limit
-// will be mangled.
-//
-// A maximum number of 64 key/value pairs are supported. An assert()
-// will fire if more than this number are set. Unfortunately, right
-// now, the same dictionary is used for both Breakpad's parameters AND
-// the Upload parameters.
-//
-// TODO (nealsid): Investigate how necessary this is if we don't
-// automatically upload parameters to the server anymore.
-// TODO (nealsid): separate server parameter dictionary from the
-// dictionary used to configure Breakpad, and document limits for each
-// independently.
-void BreakpadSetKeyValue(BreakpadRef ref, NSString *key, NSString *value);
-NSString *BreakpadKeyValue(BreakpadRef ref, NSString *key);
-void BreakpadRemoveKeyValue(BreakpadRef ref, NSString *key);
-
-// You can use this method to specify parameters that will be uploaded
-// to the crash server. They will be automatically encoded as
-// necessary. Note that as mentioned above there are limits on both
-// the number of keys and their length.
-void BreakpadAddUploadParameter(BreakpadRef ref, NSString *key,
- NSString *value);
-
-// This method will remove a previously-added parameter from the
-// upload parameter set.
-void BreakpadRemoveUploadParameter(BreakpadRef ref, NSString *key);
-
-// Add a log file for Breakpad to read and send upon crash dump
-void BreakpadAddLogFile(BreakpadRef ref, NSString *logPathname);
-
-// Generate a minidump and send
-void BreakpadGenerateAndSendReport(BreakpadRef ref);
-
-#ifdef __cplusplus
-}
-#endif