Skip to content

Commit

Permalink
Merge pull request #98 from bugsnag/martin308/mono-backend-entrypoint…
Browse files Browse the repository at this point in the history
…-bug

Remove Entrypoint usage
  • Loading branch information
martin308 authored Oct 3, 2018
2 parents cb912c1 + e8c1425 commit 6e07a1d
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 61 deletions.
8 changes: 4 additions & 4 deletions src/BugsnagUnity/Native/Cocoa/Breadcrumbs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class Breadcrumbs : IBreadcrumbs

Breadcrumbs(IntPtr nativeConfiguration)
{
NativeBreadcrumbs = NativeCode.CreateBreadcrumbs(nativeConfiguration);
NativeBreadcrumbs = NativeCode.bugsnag_createBreadcrumbs(nativeConfiguration);
}

internal Breadcrumbs(Configuration configuration) : this(configuration.NativeConfiguration)
Expand Down Expand Up @@ -55,11 +55,11 @@ public void Leave(Breadcrumb breadcrumb)
index += 2;
}

NativeCode.NativeAddBreadcrumb(NativeBreadcrumbs, breadcrumb.Name, breadcrumb.Type, metadata, metadata.Length);
NativeCode.bugsnag_addBreadcrumb(NativeBreadcrumbs, breadcrumb.Name, breadcrumb.Type, metadata, metadata.Length);
}
else
{
NativeCode.NativeAddBreadcrumb(NativeBreadcrumbs, breadcrumb.Name, breadcrumb.Type, null, 0);
NativeCode.bugsnag_addBreadcrumb(NativeBreadcrumbs, breadcrumb.Name, breadcrumb.Type, null, 0);
}
}
}
Expand All @@ -72,7 +72,7 @@ public Breadcrumb[] Retrieve()

try
{
NativeCode.NativeRetrieveBreadcrumbs(NativeBreadcrumbs, GCHandle.ToIntPtr(handle), PopulateBreadcrumb);
NativeCode.bugsnag_retrieveBreadcrumbs(NativeBreadcrumbs, GCHandle.ToIntPtr(handle), PopulateBreadcrumb);
}
finally
{
Expand Down
24 changes: 12 additions & 12 deletions src/BugsnagUnity/Native/Cocoa/Configuration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class Configuration : IConfiguration

internal Configuration(string apiKey)
{
NativeConfiguration = NativeCode.CreateConfiguration(apiKey);
NativeConfiguration = NativeCode.bugsnag_createConfiguration(apiKey);
Endpoint = new Uri(DefaultEndpoint);
AutoNotify = true;
SessionEndpoint = new Uri(DefaultSessionEndpoint);
Expand All @@ -29,7 +29,7 @@ internal Configuration(string apiKey)
LogTypeSeverityMapping = new LogTypeSeverityMapping();
}

public string ApiKey => Marshal.PtrToStringAuto(NativeCode.GetApiKey(NativeConfiguration));
public string ApiKey => Marshal.PtrToStringAuto(NativeCode.bugsnag_getApiKey(NativeConfiguration));
public TimeSpan MaximumLogsTimePeriod { get; }
public Dictionary<LogType, int> MaximumTypePerTimePeriod { get; } = new Dictionary<LogType, int>
{
Expand All @@ -44,8 +44,8 @@ internal Configuration(string apiKey)

public string ReleaseStage
{
get => Marshal.PtrToStringAuto(NativeCode.GetReleaseStage(NativeConfiguration));
set => NativeCode.SetReleaseStage(NativeConfiguration, value);
get => Marshal.PtrToStringAuto(NativeCode.bugsnag_getReleaseStage(NativeConfiguration));
set => NativeCode.bugsnag_setReleaseStage(NativeConfiguration, value);
}

public string[] NotifyReleaseStages
Expand All @@ -58,7 +58,7 @@ public string[] NotifyReleaseStages

try
{
NativeCode.GetNotifyReleaseStages(NativeConfiguration, GCHandle.ToIntPtr(handle), PopulateReleaseStages);
NativeCode.bugsnag_getNotifyReleaseStages(NativeConfiguration, GCHandle.ToIntPtr(handle), PopulateReleaseStages);
}
finally
{
Expand All @@ -71,7 +71,7 @@ public string[] NotifyReleaseStages
}
return releaseStages.ToArray();
}
set => NativeCode.SetNotifyReleaseStages(NativeConfiguration, value, value.Length);
set => NativeCode.bugsnag_setNotifyReleaseStages(NativeConfiguration, value, value.Length);
}

[MonoPInvokeCallback(typeof(NativeCode.NotifyReleaseStageCallback))]
Expand All @@ -86,23 +86,23 @@ static void PopulateReleaseStages(IntPtr instance, string[] releaseStages, long

public string AppVersion
{
get => Marshal.PtrToStringAuto(NativeCode.GetAppVersion(NativeConfiguration));
set => NativeCode.SetAppVersion(NativeConfiguration, value);
get => Marshal.PtrToStringAuto(NativeCode.bugsnag_getAppVersion(NativeConfiguration));
set => NativeCode.bugsnag_setAppVersion(NativeConfiguration, value);
}

public Uri Endpoint
{
get => new Uri(Marshal.PtrToStringAuto(NativeCode.GetNotifyEndpoint(NativeConfiguration)));
set => NativeCode.SetNotifyEndpoint(NativeConfiguration, value.ToString());
get => new Uri(Marshal.PtrToStringAuto(NativeCode.bugsnag_getNotifyUrl(NativeConfiguration)));
set => NativeCode.bugsnag_setNotifyUrl(NativeConfiguration, value.ToString());
}
public string PayloadVersion { get; } = "4.0";
public string SessionPayloadVersion { get; } = "1";
public Uri SessionEndpoint { get; set; }

public string Context
{
get => Marshal.PtrToStringAuto(NativeCode.GetContext(NativeConfiguration));
set => NativeCode.SetContext(NativeConfiguration, value);
get => Marshal.PtrToStringAuto(NativeCode.bugsnag_getContext(NativeConfiguration));
set => NativeCode.bugsnag_setContext(NativeConfiguration, value);
}

public LogType NotifyLevel { get; set; }
Expand Down
10 changes: 5 additions & 5 deletions src/BugsnagUnity/Native/Cocoa/NativeClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class NativeClient : INativeClient
Configuration = configuration;
NativeConfiguration = nativeConfiguration;

NativeCode.StartBugsnagWithConfiguration(NativeConfiguration);
NativeCode.bugsnag_startBugsnagWithConfiguration(NativeConfiguration);

Delivery = new Delivery();
Breadcrumbs = breadcrumbs;
Expand All @@ -37,7 +37,7 @@ public void PopulateApp(App app)

try
{
NativeCode.RetrieveAppData(GCHandle.ToIntPtr(handle), PopulateAppData);
NativeCode.bugsnag_retrieveAppData(GCHandle.ToIntPtr(handle), PopulateAppData);
}
finally
{
Expand All @@ -64,7 +64,7 @@ public void PopulateDevice(Device device)

try
{
NativeCode.RetrieveDeviceData(GCHandle.ToIntPtr(handle), PopulateDeviceData);
NativeCode.bugsnag_retrieveDeviceData(GCHandle.ToIntPtr(handle), PopulateDeviceData);
}
finally
{
Expand Down Expand Up @@ -103,7 +103,7 @@ public void PopulateUser(User user)
{
var nativeUser = new NativeUser();

NativeCode.PopulateUser(ref nativeUser);
NativeCode.bugsnag_populateUser(ref nativeUser);

user.Id = Marshal.PtrToStringAuto(nativeUser.Id);
}
Expand All @@ -120,7 +120,7 @@ public void SetMetadata(string tab, Dictionary<string, string> unityMetadata)
index += 2;
}

NativeCode.AddMetadata(NativeConfiguration, tab, metadata, metadata.Length);
NativeCode.bugsnag_setMetadata(NativeConfiguration, tab, metadata, metadata.Length);
}

public void PopulateMetadata(Metadata metadata)
Expand Down
80 changes: 40 additions & 40 deletions src/BugsnagUnity/Native/Cocoa/NativeCode.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,68 +11,68 @@ struct NativeUser

partial class NativeCode
{
[DllImport(Import, EntryPoint = "bugsnag_startBugsnagWithConfiguration")]
internal static extern void StartBugsnagWithConfiguration(IntPtr configuration);
[DllImport(Import)]
internal static extern void bugsnag_startBugsnagWithConfiguration(IntPtr configuration);

[DllImport(Import, EntryPoint = "bugsnag_setMetadata")]
internal static extern void AddMetadata(IntPtr configuration, string tab, string[] metadata, int metadataCount);
[DllImport(Import)]
internal static extern void bugsnag_setMetadata(IntPtr configuration, string tab, string[] metadata, int metadataCount);

[DllImport(Import, EntryPoint = "bugsnag_retrieveAppData")]
internal static extern void RetrieveAppData(IntPtr instance, Action<IntPtr, string, string> populate);
[DllImport(Import)]
internal static extern void bugsnag_retrieveAppData(IntPtr instance, Action<IntPtr, string, string> populate);

[DllImport(Import, EntryPoint = "bugsnag_retrieveDeviceData")]
internal static extern void RetrieveDeviceData(IntPtr instance, Action<IntPtr, string, string> populate);
[DllImport(Import)]
internal static extern void bugsnag_retrieveDeviceData(IntPtr instance, Action<IntPtr, string, string> populate);

[DllImport(Import, EntryPoint = "bugsnag_populateUser")]
internal static extern void PopulateUser(ref NativeUser user);
[DllImport(Import)]
internal static extern void bugsnag_populateUser(ref NativeUser user);

[DllImport(Import, EntryPoint = "bugsnag_createConfiguration")]
internal static extern IntPtr CreateConfiguration(string apiKey);
[DllImport(Import)]
internal static extern IntPtr bugsnag_createConfiguration(string apiKey);

[DllImport(Import, EntryPoint = "bugsnag_getApiKey")]
internal static extern IntPtr GetApiKey(IntPtr configuration);
[DllImport(Import)]
internal static extern IntPtr bugsnag_getApiKey(IntPtr configuration);

[DllImport(Import, EntryPoint = "bugsnag_setReleaseStage")]
internal static extern void SetReleaseStage(IntPtr configuration, string releaseStage);
[DllImport(Import)]
internal static extern void bugsnag_setReleaseStage(IntPtr configuration, string releaseStage);

[DllImport(Import, EntryPoint = "bugsnag_getReleaseStage")]
internal static extern IntPtr GetReleaseStage(IntPtr configuration);
[DllImport(Import)]
internal static extern IntPtr bugsnag_getReleaseStage(IntPtr configuration);

[DllImport(Import, EntryPoint = "bugsnag_setContext")]
internal static extern void SetContext(IntPtr configuration, string context);
[DllImport(Import)]
internal static extern void bugsnag_setContext(IntPtr configuration, string context);

[DllImport(Import, EntryPoint = "bugsnag_getContext")]
internal static extern IntPtr GetContext(IntPtr configuration);
[DllImport(Import)]
internal static extern IntPtr bugsnag_getContext(IntPtr configuration);

[DllImport(Import, EntryPoint = "bugsnag_setAppVersion")]
internal static extern void SetAppVersion(IntPtr configuration, string appVersion);
[DllImport(Import)]
internal static extern void bugsnag_setAppVersion(IntPtr configuration, string appVersion);

[DllImport(Import, EntryPoint = "bugsnag_getAppVersion")]
internal static extern IntPtr GetAppVersion(IntPtr configuration);
[DllImport(Import)]
internal static extern IntPtr bugsnag_getAppVersion(IntPtr configuration);

[DllImport(Import, EntryPoint = "bugsnag_setNotifyUrl")]
internal static extern void SetNotifyEndpoint(IntPtr configuration, string endpoint);
[DllImport(Import)]
internal static extern void bugsnag_setNotifyUrl(IntPtr configuration, string endpoint);

[DllImport(Import, EntryPoint = "bugsnag_getNotifyUrl")]
internal static extern IntPtr GetNotifyEndpoint(IntPtr configuration);
[DllImport(Import)]
internal static extern IntPtr bugsnag_getNotifyUrl(IntPtr configuration);

internal delegate void NotifyReleaseStageCallback(IntPtr instance, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 2)]string[] releaseStages, long count);

[DllImport(Import, EntryPoint = "bugsnag_getNotifyReleaseStages")]
internal static extern void GetNotifyReleaseStages(IntPtr configuration, IntPtr instance, NotifyReleaseStageCallback callback);
[DllImport(Import)]
internal static extern void bugsnag_getNotifyReleaseStages(IntPtr configuration, IntPtr instance, NotifyReleaseStageCallback callback);

[DllImport(Import, EntryPoint = "bugsnag_setNotifyReleaseStages")]
internal static extern void SetNotifyReleaseStages(IntPtr configuration, string[] releaseStages, int count);
[DllImport(Import)]
internal static extern void bugsnag_setNotifyReleaseStages(IntPtr configuration, string[] releaseStages, int count);

[DllImport(Import, EntryPoint = "bugsnag_createBreadcrumbs")]
internal static extern IntPtr CreateBreadcrumbs(IntPtr configuration);
[DllImport(Import)]
internal static extern IntPtr bugsnag_createBreadcrumbs(IntPtr configuration);

[DllImport(Import, EntryPoint = "bugsnag_addBreadcrumb")]
internal static extern void NativeAddBreadcrumb(IntPtr breadcrumbs, string name, string type, string[] metadata, int metadataCount);
[DllImport(Import)]
internal static extern void bugsnag_addBreadcrumb(IntPtr breadcrumbs, string name, string type, string[] metadata, int metadataCount);

internal delegate void BreadcrumbInformation(IntPtr instance, string name, string timestamp, string type, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 5)]string[] keys, long keysSize, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 7)]string[] values, long valuesSize);

[DllImport(Import, EntryPoint = "bugsnag_retrieveBreadcrumbs")]
internal static extern void NativeRetrieveBreadcrumbs(IntPtr breadcrumbs, IntPtr instance, BreadcrumbInformation visitor);
[DllImport(Import)]
internal static extern void bugsnag_retrieveBreadcrumbs(IntPtr breadcrumbs, IntPtr instance, BreadcrumbInformation visitor);
}
}

0 comments on commit 6e07a1d

Please sign in to comment.