blob: 668fa6d0a91f918b2c46a145f0984243433ea10f [file] [log] [blame]
// Copyright 2020 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 IOS_CHROME_BROWSER_POLICY_POLICY_APP_INTERFACE_H_
#define IOS_CHROME_BROWSER_POLICY_POLICY_APP_INTERFACE_H_
#import <Foundation/Foundation.h>
@interface PolicyAppInterface : NSObject
// Returns a JSON-encoded representation of the value for the given |policyKey|.
// Looks for the policy in the platform policy provider under the CHROME policy
// namespace.
+ (NSString*)valueForPlatformPolicy:(NSString*)policyKey;
// Sets the value of the policy with the |policyKey| key to the given value. The
// value must be serialized to JSON.
+ (void)setPolicyValue:(NSString*)jsonValue forKey:(NSString*)policyKey;
// Clear all policy values.
+ (void)clearPolicies;
// Clear the policies from all providers.
+ (void)clearAllPoliciesInMemory;
// Returns YES if the given |URL| is blocked by the URLBlocklist and
// URLAllowlist policies.
+ (BOOL)isURLBlocked:(NSString*)URL;
// Sets the browser cloud policy data with a domain.
+ (void)setBrowserCloudPolicyDataWithDomain:(NSString*)domain;
// Sets the user cloud policy data with a domain.
+ (void)setUserCloudPolicyDataWithDomain:(NSString*)domain;
// Removes the whole directory where the device management token file is stored.
+ (void)clearDMTokenDirectory;
// Returns YES if the cloud policy client is registered.
+ (BOOL)isCloudPolicyClientRegistered;
// Removes the whole directory where the Chrome Browser Cloud Management (CBCM)
// stores data.
+ (void)clearCloudPolicyDirectory;
@end
#endif // IOS_CHROME_BROWSER_POLICY_POLICY_APP_INTERFACE_H_