diff options
author | blundell@chromium.org <blundell@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2014-01-13 10:40:07 +0000 |
---|---|---|
committer | blundell@chromium.org <blundell@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2014-01-13 10:40:07 +0000 |
commit | 12528d19bdf7b00a0f1ad5cd466a12d587189055 (patch) | |
tree | 81b1a95d192cf1873676b41c653213f288f3e307 /src/client/ios/Breakpad.mm | |
parent | Don't do work inside assert(). Ever. (diff) | |
download | breakpad-12528d19bdf7b00a0f1ad5cd466a12d587189055.tar.xz |
Add -[BreakpadController setParametersToAddAtUploadTime:] for iOS.
This provides the ability to add server parameters to a crash report when the
report is uploaded.
Patch by KiYun Roe <kiyun@chromium.org>
BUG=558
R=blundell@chromium.org
Review URL: https://breakpad.appspot.com/974002/
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1271 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/client/ios/Breakpad.mm')
-rw-r--r-- | src/client/ios/Breakpad.mm | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/client/ios/Breakpad.mm b/src/client/ios/Breakpad.mm index 3b9f6d3f..2bd7e33b 100644 --- a/src/client/ios/Breakpad.mm +++ b/src/client/ios/Breakpad.mm @@ -152,7 +152,7 @@ class Breakpad { void RemoveKeyValue(NSString *key); NSArray *CrashReportsToUpload(); NSString *NextCrashReportToUpload(); - void UploadNextReport(); + void UploadNextReport(NSDictionary *server_parameters); void UploadData(NSData *data, NSString *name, NSDictionary *server_parameters); NSDictionary *GenerateReport(NSDictionary *server_parameters); @@ -448,13 +448,18 @@ NSString *Breakpad::NextCrashReportToUpload() { } //============================================================================= -void Breakpad::UploadNextReport() { +void Breakpad::UploadNextReport(NSDictionary *server_parameters) { NSString *configFile = NextCrashReportToUpload(); if (configFile) { Uploader *uploader = [[[Uploader alloc] initWithConfigFile:[configFile UTF8String]] autorelease]; - if (uploader) + if (uploader) { + for (NSString *key in server_parameters) { + [uploader addServerParameter:[server_parameters objectForKey:key] + forKey:key]; + } [uploader report]; + } } } @@ -784,13 +789,14 @@ int BreakpadGetCrashReportCount(BreakpadRef ref) { } //============================================================================= -void BreakpadUploadNextReport(BreakpadRef ref) { +void BreakpadUploadNextReport(BreakpadRef ref, + NSDictionary *server_parameters) { try { // Not called at exception time Breakpad *breakpad = (Breakpad *)ref; if (breakpad) { - breakpad->UploadNextReport(); + breakpad->UploadNextReport(server_parameters); } } catch(...) { // don't let exceptions leave this C API fprintf(stderr, "BreakpadUploadNextReport() : error\n"); |