]> git.saurik.com Git - apple/security.git/blob - keychain/analytics/CKKSLaunchSequence.h
Security-59306.11.20.tar.gz
[apple/security.git] / keychain / analytics / CKKSLaunchSequence.h
1 //
2 // CKKSLaunchSequence.h
3 //
4 // Takes a sequence of events and report their time relative from the starting point
5 // Duplicate events are counted.
6 //
7 //
8
9 #import <Foundation/Foundation.h>
10
11 NS_ASSUME_NONNULL_BEGIN
12
13 @interface CKKSLaunchSequence : NSObject
14 @property (readonly) bool launched;
15 @property (assign) bool firstLaunch;
16
17 - (instancetype)init NS_UNAVAILABLE;
18
19 // name should be dns reverse notation, com.apple.label
20 - (instancetype)initWithRocketName:(NSString *)name;
21
22 // value must be a valid JSON compatible type
23 - (void)addAttribute:(NSString *)key value:(id)value;
24 - (void)addEvent:(NSString *)eventname;
25
26 - (void)launch;
27
28 - (void)addDependantLaunch:(NSString *)name child:(CKKSLaunchSequence *)child;
29
30 // For including in human readable diagnostics
31 - (NSArray<NSString *> *)eventsByTime;
32 @end
33
34 NS_ASSUME_NONNULL_END