/* * Copyright (c) Meta Platforms, Inc. and affiliates. * All rights reserved. * * This source code is licensed under the license found in the * LICENSE file in the root directory of this source tree. */ #import #import #define FBSDK_GATEKEEPER_MANAGER_CACHE_TIMEOUT (60 * 60) NS_ASSUME_NONNULL_BEGIN @protocol FBSDKSettings; @protocol FBSDKGraphRequestFactory; @protocol FBSDKGraphRequestConnectionFactory; @protocol FBSDKDataPersisting; /** Internal Type exposed to facilitate transition to Swift. API Subject to change or removal without warning. Do not use. @warning INTERNAL - DO NOT USE */ typedef NSString *const FBSDKGateKeeperKey NS_TYPED_EXTENSIBLE_ENUM NS_SWIFT_NAME(_GateKeeperManager.GateKeeperKey); typedef void (^ FBSDKGKManagerBlock)(NSError *_Nullable error) NS_SWIFT_NAME(_GKManagerBlock); /** Internal Type exposed to facilitate transition to Swift. API Subject to change or removal without warning. Do not use. @warning INTERNAL - DO NOT USE */ NS_SWIFT_NAME(_GateKeeperManager) @interface FBSDKGateKeeperManager : NSObject - (instancetype)init NS_UNAVAILABLE; + (instancetype)new NS_UNAVAILABLE; + (void) configureWithSettings:(id)settings graphRequestFactory:(id)graphRequestFactory graphRequestConnectionFactory:(id)graphRequestConnectionFactory store:(id)store NS_SWIFT_NAME(configure(settings:graphRequestFactory:graphRequestConnectionFactory:store:)); /// Returns the locally cached configuration. + (BOOL)boolForKey:(NSString *)key defaultValue:(BOOL)defaultValue; /** Load the gate keeper configurations from server WARNING: Must call `configure` before loading gate keepers. */ + (void)loadGateKeepers:(nullable FBSDKGKManagerBlock)completionBlock; @end NS_ASSUME_NONNULL_END