Skip to content

Commit

Permalink
Merge pull request #70 from bugsnag/prefix-objc-methods
Browse files Browse the repository at this point in the history
Prefix obj-c methods
  • Loading branch information
fractalwrench authored Jan 18, 2018
2 parents 3714746 + 5a8d321 commit 19fd579
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 50 deletions.
30 changes: 15 additions & 15 deletions src/Assets/Standard Assets/Bugsnag/Bugsnag.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,49 +27,49 @@ public static void Register(string apiKey) {
Register(apiKey, false);
}
#if (UNITY_IPHONE || UNITY_IOS || UNITY_TVOS || UNITY_WEBGL || UNITY_STANDALONE_OSX) && !UNITY_EDITOR
[DllImport (dllName)]
[DllImport (dllName, EntryPoint = "BSGRegister")]
public static extern void Register(string apiKey, bool trackSessions);

[DllImport (dllName)]
[DllImport (dllName, EntryPoint = "BSGNotify")]
public static extern void Notify(string errorClass, string errorMessage, string severity, string context, string stackTrace, string type, string severityReason);

[DllImport (dllName)]
[DllImport (dllName, EntryPoint = "BSGSetNotifyUrl")]
public static extern void SetNotifyUrl(string notifyUrl);

[DllImport (dllName)]
[DllImport (dllName, EntryPoint = "BSGSetAutoNotify")]
public static extern void SetAutoNotify(bool autoNotify);

[DllImport (dllName)]
[DllImport (dllName, EntryPoint = "BSGSetContext")]
public static extern void SetContext(string context);

[DllImport (dllName)]
[DllImport (dllName, EntryPoint = "BSGSetReleaseStage")]
public static extern void SetReleaseStage(string releaseStage);

[DllImport (dllName)]
[DllImport (dllName, EntryPoint = "BSGSetNotifyReleaseStages")]
public static extern void SetNotifyReleaseStages(string releaseStages);

[DllImport (dllName)]
[DllImport (dllName, EntryPoint = "BSGAddToTab")]
public static extern void AddToTab(string tabName, string attributeName, string attributeValue);

[DllImport (dllName)]
[DllImport (dllName, EntryPoint = "BSGClearTab")]
public static extern void ClearTab(string tabName);

[DllImport (dllName)]
[DllImport (dllName, EntryPoint = "BSGLeaveBreadcrumb")]
public static extern void LeaveBreadcrumb(string breadcrumb);

[DllImport (dllName)]
[DllImport (dllName, EntryPoint = "BSGSetBreadcrumbCapacity")]
public static extern void SetBreadcrumbCapacity(int capacity);

[DllImport (dllName)]
[DllImport (dllName, EntryPoint = "BSGSetAppVersion")]
public static extern void SetAppVersion(string appVersion);

[DllImport (dllName)]
[DllImport (dllName, EntryPoint = "BSGSetUser")]
public static extern void SetUser(string userId, string userName, string userEmail);

[DllImport (dllName)]
[DllImport (dllName, EntryPoint = "BSGStartSession")]
public static extern void StartSession();

[DllImport (dllName)]
[DllImport (dllName, EntryPoint = "BSGSetSessionUrl")]
public static extern void SetSessionUrl(string sessionUrl);

#elif UNITY_ANDROID && !UNITY_EDITOR
Expand Down
68 changes: 34 additions & 34 deletions src/BugsnagUnity.mm
Original file line number Diff line number Diff line change
Expand Up @@ -6,41 +6,41 @@ + (id)notifier;
@end

extern "C" {
void SetContext(char *context);
void SetReleaseStage(char *releaseStage);
void SetAutoNotify(int autoNotify);
void Notify(char *errorClass, char *errorMessage, char *severity, char *context, char *stackTrace, char *logType, char *severityReason);
void Register(char *apiKey, bool trackSessions);
void AddToTab(char *tabName, char *attributeName, char *attributeValue);
void ClearTab(char *tabName);
void LeaveBreadcrumb(char *breadcrumb);
void SetBreadcrumbCapacity(int capacity);
void SetAppVersion(char *version);
void SetUser(char *userId, char *userName, char *userEmail);
void ExampleNativeCrash();
void ExampleCrashInBackground();

NSMutableArray *parseStackTrace(NSString *stackTrace, NSRegularExpression *stacktraceRegex);

BSGSeverity ParseBugsnagSeverity(NSString *severity) {
void BSGSetContext(char *context);
void BSGSetReleaseStage(char *releaseStage);
void BSGSetAutoNotify(int autoNotify);
void BSGNotify(char *errorClass, char *errorMessage, char *severity, char *context, char *stackTrace, char *logType, char *severityReason);
void BSGRegister(char *apiKey, bool trackSessions);
void BSGAddToTab(char *tabName, char *attributeName, char *attributeValue);
void BSGClearTab(char *tabName);
void BSGLeaveBreadcrumb(char *breadcrumb);
void BSGSetBreadcrumbCapacity(int capacity);
void BSGSetAppVersion(char *version);
void BSGSetUser(char *userId, char *userName, char *userEmail);
void BSGExampleNativeCrash();
void BSGExampleCrashInBackground();

NSMutableArray *BSGparseStackTrace(NSString *stackTrace, NSRegularExpression *stacktraceRegex);

BSGSeverity BSGParseBugsnagSeverity(NSString *severity) {
if ([severity isEqualToString:@"info"])
return BSGSeverityInfo;
else if ([severity isEqualToString:@"warning"])
return BSGSeverityWarning;
return BSGSeverityError;
}

void SetContext(char *context) {
void BSGSetContext(char *context) {
NSString *ns_context = [NSString stringWithUTF8String: context];
[Bugsnag configuration].context = ns_context;
}

void SetReleaseStage(char *releaseStage) {
void BSGSetReleaseStage(char *releaseStage) {
NSString *ns_releaseStage = [NSString stringWithUTF8String: releaseStage];
[Bugsnag configuration].releaseStage = ns_releaseStage;
}

void SetNotifyReleaseStages(char *notifyReleaseStages) {
void BSGSetNotifyReleaseStages(char *notifyReleaseStages) {
NSString *ns_notifyReleaseStages = [NSString stringWithUTF8String: notifyReleaseStages];
if ([ns_notifyReleaseStages isEqualToString: @""]) {
[Bugsnag configuration].notifyReleaseStages = @[];
Expand All @@ -49,33 +49,33 @@ void SetNotifyReleaseStages(char *notifyReleaseStages) {
}
}

void SetSessionUrl(char *url) {
void BSGSetSessionUrl(char *url) {
NSString *ns_url = [NSString stringWithUTF8String:url];
[Bugsnag configuration].sessionURL = [NSURL URLWithString: ns_url];
}

void SetNotifyUrl(char *notifyUrl) {
void BSGSetNotifyUrl(char *notifyUrl) {
NSString *ns_notifyUrl = [NSString stringWithUTF8String:notifyUrl];
[Bugsnag configuration].notifyURL = [NSURL URLWithString: ns_notifyUrl];
}

void SetAutoNotify(int autoNotify) {
void BSGSetAutoNotify(int autoNotify) {
[Bugsnag configuration].autoNotify = autoNotify;
}

void AddToTab(char *tabName, char *attributeName, char *attributeValue) {
void BSGAddToTab(char *tabName, char *attributeName, char *attributeValue) {
NSString *ns_tabName = [NSString stringWithUTF8String:tabName];
NSString *ns_attributeName = [NSString stringWithUTF8String:attributeName];
NSString *ns_attributeValue = [NSString stringWithUTF8String:attributeValue];
[Bugsnag addAttribute:ns_attributeName withValue:ns_attributeValue toTabWithName:ns_tabName];
}

void ClearTab(char *tabName) {
void BSGClearTab(char *tabName) {
NSString *ns_tabName = [NSString stringWithUTF8String:tabName];
[Bugsnag clearTabWithName:ns_tabName];
}

void Notify(char *errorClass, char *errorMessage, char *severity, char *context, char *stackTrace, char *logType, char *severityReason) {
void BSGNotify(char *errorClass, char *errorMessage, char *severity, char *context, char *stackTrace, char *logType, char *severityReason) {
NSString *ns_errorClass = [NSString stringWithUTF8String:errorClass];
NSString *ns_errorMessage = [NSString stringWithUTF8String:errorMessage];
NSString *ns_severity = [NSString stringWithUTF8String:severity];
Expand All @@ -88,7 +88,7 @@ void Notify(char *errorClass, char *errorMessage, char *severity, char *context,
options:NSRegularExpressionCaseInsensitive
error:nil];

NSMutableArray *stacktrace = parseStackTrace(ns_stackTrace, unityExpression);
NSMutableArray *stacktrace = BSGparseStackTrace(ns_stackTrace, unityExpression);
NSException * exception = [NSException exceptionWithName:ns_errorClass
reason:ns_errorMessage
userInfo:NULL];
Expand Down Expand Up @@ -125,7 +125,7 @@ void Notify(char *errorClass, char *errorMessage, char *severity, char *context,
});
}

void Register(char *apiKey, bool trackSessions) {
void BSGRegister(char *apiKey, bool trackSessions) {
NSString *ns_apiKey = [NSString stringWithUTF8String: apiKey];

// Disable thread suspension so there is no noticable lag in sending Bugsnags
Expand Down Expand Up @@ -153,30 +153,30 @@ void Register(char *apiKey, bool trackSessions) {
} forKey:@"details"];
}

void StartSession() {
void BSGStartSession() {
[Bugsnag startSession];
}

void LeaveBreadcrumb(char *breadcrumb) {
void BSGLeaveBreadcrumb(char *breadcrumb) {
[Bugsnag leaveBreadcrumbWithMessage: [NSString stringWithUTF8String:breadcrumb]];
}

void SetBreadcrumbCapacity(int capacity) {
void BSGSetBreadcrumbCapacity(int capacity) {
[Bugsnag setBreadcrumbCapacity: (NSUInteger)capacity];
}

void SetAppVersion(char *version) {
void BSGSetAppVersion(char *version) {
[Bugsnag configuration].appVersion = [NSString stringWithUTF8String:version];
}

void SetUser(char *userId, char *userName, char *userEmail) {
void BSGSetUser(char *userId, char *userName, char *userEmail) {
NSString *ns_userId = [NSString stringWithUTF8String: userId];
NSString *ns_userName = [NSString stringWithUTF8String: userName];
NSString *ns_userEmail = [NSString stringWithUTF8String: userEmail];
[[Bugsnag configuration] setUser:ns_userId withName:ns_userName andEmail:ns_userEmail];
}

NSMutableArray *parseStackTrace(NSString *stackTrace, NSRegularExpression *stacktraceRegex) {
NSMutableArray *BSGparseStackTrace(NSString *stackTrace, NSRegularExpression *stacktraceRegex) {
NSMutableArray *returnArray = [[NSMutableArray alloc] init];

[stacktraceRegex enumerateMatchesInString:stackTrace options:0 range:NSMakeRange(0, [stackTrace length]) usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
Expand Down

0 comments on commit 19fd579

Please sign in to comment.