1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_MAC_KEYSTONE_REGISTRATION_H_
6 #define CHROME_BROWSER_MAC_KEYSTONE_REGISTRATION_H_
8 #import <Foundation/Foundation.h>
9 #include <Security/Authorization.h>
11 // Declarations of the Keystone registration bits needed here. From
14 namespace keystone_registration
{
17 kKSPathExistenceChecker
,
18 } KSExistenceCheckerType
;
21 kKSRegistrationUserTicket
,
22 kKSRegistrationSystemTicket
,
23 kKSRegistrationDontKnowWhatKindOfTicket
,
24 } KSRegistrationTicketType
;
26 extern NSString
* KSRegistrationVersionKey
;
27 extern NSString
* KSRegistrationExistenceCheckerTypeKey
;
28 extern NSString
* KSRegistrationExistenceCheckerStringKey
;
29 extern NSString
* KSRegistrationServerURLStringKey
;
30 extern NSString
* KSRegistrationPreserveTrustedTesterTokenKey
;
31 extern NSString
* KSRegistrationTagKey
;
32 extern NSString
* KSRegistrationTagPathKey
;
33 extern NSString
* KSRegistrationTagKeyKey
;
34 extern NSString
* KSRegistrationBrandPathKey
;
35 extern NSString
* KSRegistrationBrandKeyKey
;
36 extern NSString
* KSRegistrationVersionPathKey
;
37 extern NSString
* KSRegistrationVersionKeyKey
;
39 extern NSString
* KSRegistrationDidCompleteNotification
;
40 extern NSString
* KSRegistrationPromotionDidCompleteNotification
;
42 extern NSString
* KSRegistrationCheckForUpdateNotification
;
43 extern NSString
* KSRegistrationStatusKey
;
44 extern NSString
* KSRegistrationUpdateCheckErrorKey
;
46 extern NSString
* KSRegistrationStartUpdateNotification
;
47 extern NSString
* KSUpdateCheckSuccessfulKey
;
48 extern NSString
* KSUpdateCheckSuccessfullyInstalledKey
;
50 extern NSString
* KSRegistrationRemoveExistingTag
;
51 #define KSRegistrationPreserveExistingTag nil
53 } // namespace keystone_registration
55 @interface KSRegistration
: NSObject
57 + (id
)registrationWithProductID
:(NSString
*)productID
;
59 - (BOOL
)registerWithParameters
:(NSDictionary
*)args
;
61 - (BOOL
)promoteWithParameters
:(NSDictionary
*)args
62 authorization
:(AuthorizationRef
)authorization
;
65 - (void)checkForUpdate
;
67 - (keystone_registration::KSRegistrationTicketType
)ticketType
;
69 @end
// @interface KSRegistration
71 #endif // CHROME_BROWSER_MAC_KEYSTONE_REGISTRATION_H_