Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / mac / keystone_registration.h
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.
4
5 #ifndef CHROME_BROWSER_MAC_KEYSTONE_REGISTRATION_H_
6 #define CHROME_BROWSER_MAC_KEYSTONE_REGISTRATION_H_
7
8 #import <Foundation/Foundation.h>
9 #include <Security/Authorization.h>
10
11 // Declarations of the Keystone registration bits needed here. From
12 // KSRegistration.h.
13
14 namespace keystone_registration {
15
16 typedef enum {
17   kKSPathExistenceChecker,
18 } KSExistenceCheckerType;
19
20 typedef enum {
21   kKSRegistrationUserTicket,
22   kKSRegistrationSystemTicket,
23   kKSRegistrationDontKnowWhatKindOfTicket,
24 } KSRegistrationTicketType;
25
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;
38
39 extern NSString* KSRegistrationDidCompleteNotification;
40 extern NSString* KSRegistrationPromotionDidCompleteNotification;
41
42 extern NSString* KSRegistrationCheckForUpdateNotification;
43 extern NSString* KSRegistrationStatusKey;
44 extern NSString* KSRegistrationUpdateCheckErrorKey;
45
46 extern NSString* KSRegistrationStartUpdateNotification;
47 extern NSString* KSUpdateCheckSuccessfulKey;
48 extern NSString* KSUpdateCheckSuccessfullyInstalledKey;
49
50 extern NSString* KSRegistrationRemoveExistingTag;
51 #define KSRegistrationPreserveExistingTag nil
52
53 }  // namespace keystone_registration
54
55 @interface KSRegistration : NSObject
56
57 + (id)registrationWithProductID:(NSString*)productID;
58
59 - (BOOL)registerWithParameters:(NSDictionary*)args;
60
61 - (BOOL)promoteWithParameters:(NSDictionary*)args
62                 authorization:(AuthorizationRef)authorization;
63
64 - (BOOL)setActive;
65 - (void)checkForUpdateWasUserInitiated:(BOOL)userInitiated;
66 - (void)startUpdate;
67 - (keystone_registration::KSRegistrationTicketType)ticketType;
68
69 @end  // @interface KSRegistration
70
71 #endif  // CHROME_BROWSER_MAC_KEYSTONE_REGISTRATION_H_