Skip to content

Commit 6b42a1d

Browse files
author
Dave Nottage
committed
Added import for Firebase Crashlytics
1 parent 1aea54f commit 6b42a1d

File tree

1 file changed

+104
-0
lines changed

1 file changed

+104
-0
lines changed
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
unit DW.iOSapi.FirebaseCrashlytics;
2+
3+
{*******************************************************}
4+
{ }
5+
{ Kastri }
6+
{ }
7+
{ Delphi Worlds Cross-Platform Library }
8+
{ }
9+
{ Copyright 2020-2026 Dave Nottage under MIT license }
10+
{ which is located in the root folder of this library }
11+
{ }
12+
{*******************************************************}
13+
14+
interface
15+
16+
uses
17+
// macOS
18+
Macapi.ObjectiveC, Macapi.CoreFoundation,
19+
// iOS
20+
iOSapi.CocoaTypes, iOSapi.Foundation;
21+
22+
type
23+
FIRCrashlyticsReport = interface;
24+
FIRStackFrame = interface;
25+
FIRExceptionModel = interface;
26+
FIRCrashlytics = interface;
27+
28+
TFIRCrashlyticsBlockMethod1 = procedure(param1: Boolean) of object;
29+
TFIRCrashlyticsBlockMethod2 = procedure(param1: FIRCrashlyticsReport) of object;
30+
31+
FIRCrashlyticsReportClass = interface(NSObjectClass)
32+
['{2255AD74-84A4-4100-B2C1-8930011C910B}']
33+
end;
34+
35+
FIRCrashlyticsReport = interface(NSObject)
36+
['{F706B155-1434-42D1-BC1F-EFC32AB68EDA}']
37+
function dateCreated: NSDate; cdecl;
38+
function hasCrash: Boolean; cdecl;
39+
procedure log(msg: NSString); cdecl;
40+
procedure logWithFormat(format: NSString); overload; cdecl;
41+
procedure logWithFormat(format: NSString; arguments: Pointer); overload; cdecl;
42+
function reportID: NSString; cdecl;
43+
procedure setCustomKeysAndValues(keysAndValues: NSDictionary); cdecl;
44+
procedure setCustomValue(value: Pointer; forKey: NSString); cdecl;
45+
procedure setUserID(userID: NSString); cdecl;
46+
end;
47+
TFIRCrashlyticsReport = class(TOCGenericImport<FIRCrashlyticsReportClass, FIRCrashlyticsReport>) end;
48+
49+
FIRStackFrameClass = interface(NSObjectClass)
50+
['{A167B19C-2365-4BD7-B2C2-2999EE701F51}']
51+
{class} function stackFrameWithAddress(address: NSUInteger): Pointer; cdecl;
52+
{class} function stackFrameWithSymbol(symbol: NSString; &file: NSString; line: NSInteger): Pointer; cdecl;
53+
end;
54+
55+
FIRStackFrame = interface(NSObject)
56+
['{45C392C0-1ABF-4B2F-A2CE-66532DDFE22B}']
57+
function initWithSymbol(symbol: NSString; &file: NSString; line: NSInteger): Pointer; cdecl;
58+
end;
59+
TFIRStackFrame = class(TOCGenericImport<FIRStackFrameClass, FIRStackFrame>) end;
60+
61+
FIRExceptionModelClass = interface(NSObjectClass)
62+
['{FB6D78A7-7DA3-4627-AF8D-4355EB5AED19}']
63+
{class} function exceptionModelWithName(name: NSString; reason: NSString): Pointer; cdecl;
64+
end;
65+
66+
FIRExceptionModel = interface(NSObject)
67+
['{41F402E6-7042-4B55-88CF-1F6C7F2FE311}']
68+
function initWithName(name: NSString; reason: NSString): Pointer; cdecl;
69+
procedure setStackTrace(stackTrace: NSArray); cdecl;
70+
function stackTrace: NSArray; cdecl;
71+
end;
72+
TFIRExceptionModel = class(TOCGenericImport<FIRExceptionModelClass, FIRExceptionModel>) end;
73+
74+
FIRCrashlyticsClass = interface(NSObjectClass)
75+
['{0E10D380-78D7-409E-B72C-BBC289B53190}']
76+
{class} function crashlytics: Pointer; cdecl;
77+
end;
78+
79+
FIRCrashlytics = interface(NSObject)
80+
['{96005344-DF3A-47BE-BA0B-2C3B2B152753}']
81+
procedure checkAndUpdateUnsentReportsWithCompletion(completion: TFIRCrashlyticsBlockMethod2); cdecl;
82+
procedure checkForUnsentReportsWithCompletion(completion: TFIRCrashlyticsBlockMethod1); cdecl;
83+
procedure deleteUnsentReports; cdecl;
84+
function didCrashDuringPreviousExecution: Boolean; cdecl;
85+
function isCrashlyticsCollectionEnabled: Boolean; cdecl;
86+
procedure log(msg: NSString); cdecl;
87+
procedure logWithFormat(format: NSString); overload; cdecl;
88+
procedure logWithFormat(format: NSString; arguments: Pointer); overload; cdecl;
89+
procedure recordError(error: NSError); overload; cdecl;
90+
procedure recordError(error: NSError; userInfo: NSDictionary); overload; cdecl;
91+
procedure recordExceptionModel(exceptionModel: FIRExceptionModel); cdecl;
92+
procedure sendUnsentReports; cdecl;
93+
procedure setCrashlyticsCollectionEnabled(enabled: Boolean); cdecl;
94+
procedure setCustomKeysAndValues(keysAndValues: NSDictionary); cdecl;
95+
procedure setCustomValue(value: Pointer; forKey: NSString); cdecl;
96+
procedure setUserID(userID: NSString); cdecl;
97+
end;
98+
TFIRCrashlytics = class(TOCGenericImport<FIRCrashlyticsClass, FIRCrashlytics>) end;
99+
100+
implementation
101+
102+
procedure FirebaseCrashlyticsLoader; cdecl; external framework 'FirebaseCrashlytics';
103+
104+
end.

0 commit comments

Comments
 (0)