// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_MAC_KEYSTONE_REGISTRATION_H_ #define CHROME_BROWSER_MAC_KEYSTONE_REGISTRATION_H_ #import <Foundation/Foundation.h> #include <Security/Authorization.h> // Declarations of the Keystone registration bits needed here. From // KSRegistration.h. namespace keystone_registration { typedef enum { kKSPathExistenceChecker, } KSExistenceCheckerType; typedef enum { kKSRegistrationUserTicket, kKSRegistrationSystemTicket, kKSRegistrationDontKnowWhatKindOfTicket, } KSRegistrationTicketType; extern NSString* KSRegistrationVersionKey; extern NSString* KSRegistrationExistenceCheckerTypeKey; extern NSString* KSRegistrationExistenceCheckerStringKey; extern NSString* KSRegistrationServerURLStringKey; extern NSString* KSRegistrationPreserveTrustedTesterTokenKey; extern NSString* KSRegistrationTagKey; extern NSString* KSRegistrationTagPathKey; extern NSString* KSRegistrationTagKeyKey; extern NSString* KSRegistrationBrandPathKey; extern NSString* KSRegistrationBrandKeyKey; extern NSString* KSRegistrationVersionPathKey; extern NSString* KSRegistrationVersionKeyKey; extern NSString* KSRegistrationDidCompleteNotification; extern NSString* KSRegistrationPromotionDidCompleteNotification; extern NSString* KSRegistrationCheckForUpdateNotification; extern NSString* KSRegistrationStatusKey; extern NSString* KSRegistrationUpdateCheckErrorKey; extern NSString* KSRegistrationStartUpdateNotification; extern NSString* KSUpdateCheckSuccessfulKey; extern NSString* KSUpdateCheckSuccessfullyInstalledKey; extern NSString* KSRegistrationRemoveExistingTag; #define KSRegistrationPreserveExistingTag nil } // namespace keystone_registration @interface KSRegistration : NSObject + (id)registrationWithProductID:(NSString*)productID; - (BOOL)registerWithParameters:(NSDictionary*)args; - (BOOL)promoteWithParameters:(NSDictionary*)args authorization:(AuthorizationRef)authorization; - (void)setActive; - (void)checkForUpdate; - (void)startUpdate; - (keystone_registration::KSRegistrationTicketType)ticketType; @end // @interface KSRegistration #endif // CHROME_BROWSER_MAC_KEYSTONE_REGISTRATION_H_