]> git.saurik.com Git - apple/security.git/blame - Analytics/Clients/LocalKeychainAnalytics.h
Security-59754.80.3.tar.gz
[apple/security.git] / Analytics / Clients / LocalKeychainAnalytics.h
CommitLineData
79b9da22
A
1#ifndef LocalKeychainAnalytics_h
2#define LocalKeychainAnalytics_h
3
4#include <CoreFoundation/CoreFoundation.h>
5
6typedef enum {
7 LKAKeychainUpgradeOutcomeSuccess,
8 LKAKeychainUpgradeOutcomeUnknownFailure,
9 LKAKeychainUpgradeOutcomeLocked,
10 LKAKeychainUpgradeOutcomeInternal,
11 LKAKeychainUpgradeOutcomeNewDb,
12 LKAKeychainUpgradeOutcomeObsoleteDb,
13 LKAKeychainUpgradeOutcomeNoSchema,
14 LKAKeychainUpgradeOutcomeIndices,
15 LKAKeychainUpgradeOutcomePhase1AlterTables,
16 LKAKeychainUpgradeOutcomePhase1DropIndices,
17 LKAKeychainUpgradeOutcomePhase1CreateSchema,
18 LKAKeychainUpgradeOutcomePhase1Items,
19 LKAKeychainUpgradeOutcomePhase1NonItems,
20 LKAKeychainUpgradeOutcomePhase1DropOld,
21 LKAKeychainUpgradeOutcomePhase2,
22} LKAKeychainUpgradeOutcome;
23
b54c578e
A
24typedef enum {
25 LKAKeychainBackupTypeNeither,
26 LKAKeychainBackupTypeBag,
27 LKAKeychainBackupTypeCode,
28 LKAKeychainBackupTypeBagAndCode,
29 LKAKeychainBackupTypeEMCS,
30} LKAKeychainBackupType;
31
79b9da22
A
32void LKAReportKeychainUpgradeOutcome(int fromversion, int toversion, LKAKeychainUpgradeOutcome outcome);
33void LKAReportKeychainUpgradeOutcomeWithError(int fromversion, int toversion, LKAKeychainUpgradeOutcome outcome, CFErrorRef error);
34
b54c578e
A
35void LKABackupReportStart(bool hasKeybag, bool hasPasscode, bool isEMCS);
36void LKABackupReportEnd(bool hasBackup, CFErrorRef error);
37
79b9da22
A
38#if __OBJC2__
39
40#import <Foundation/Foundation.h>
41#import <Security/SFAnalytics.h>
42
43typedef NSString* LKAnalyticsFailableEvent NS_STRING_ENUM;
b54c578e
A
44typedef NSString* LKAnalyticsMetric NS_STRING_ENUM;
45
79b9da22 46extern LKAnalyticsFailableEvent const LKAEventUpgrade;
d64be36e
A
47extern LKAnalyticsFailableEvent const LKAEventStash;
48extern LKAnalyticsFailableEvent const LKAEventStashLoad;
79b9da22
A
49
50@interface LocalKeychainAnalytics : SFAnalytics
51
52- (void)reportKeychainUpgradeFrom:(int)oldVersion to:(int)newVersion outcome:(LKAKeychainUpgradeOutcome)result error:(NSError*)error;
53
54@end
55
56#endif // OBJC2
57#endif // LocalKeychainAnalytics_h