/* * 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 #import NS_ASSUME_NONNULL_BEGIN /** The `FBSDKGraphRequestQueue` allows for several graph requests to be queued for later execution as a batch request. */ NS_SWIFT_NAME(GraphRequestQueue) @interface FBSDKGraphRequestQueue : NSObject /** Gets the shared instance `FBSDKGraphRequestQueue` singleton */ + (instancetype)sharedInstance; + (instancetype)new NS_UNAVAILABLE; - (instancetype)init NS_UNAVAILABLE; - (void)configureWithGraphRequestConnectionFactory:(id)graphRequestConnectionFactory NS_SWIFT_NAME(configure(graphRequestConnectionFactory:)); /** @method This method adds an with its completion handler into the queue. @param request The request to be queued @param completion A handler to call back when the request is executed. */ - (void)enqueueRequest:(id)request completion:(FBSDKGraphRequestCompletion)completion; /** Internal method exposed to facilitate transition to Swift. API Subject to change or removal without warning. Do not use. @warning INTERNAL - DO NOT USE */ - (void)enqueueRequests:(NSArray *)requests; /** Internal method exposed to facilitate transition to Swift. API Subject to change or removal without warning. Do not use. @warning INTERNAL - DO NOT USE */ - (void)enqueueRequestMetadata:(FBSDKGraphRequestMetadata *)requestMetadata; /** @method This method flushes the queue. All requests currently in the queue will be executed in a single batch request. The queue is then emptied. */ - (void)flush; @end NS_ASSUME_NONNULL_END