/* * 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 NS_ASSUME_NONNULL_BEGIN /** @protocol The `FBSDKGraphRequestConnectionDelegate` protocol defines the methods used to receive network activity progress information from a . */ NS_SWIFT_NAME(GraphRequestConnectionDelegate) @protocol FBSDKGraphRequestConnectionDelegate @optional /** @method Tells the delegate the request connection will begin loading If the is created using one of the convenience factory methods prefixed with start, the object returned from the convenience method has already begun loading and this method will not be called when the delegate is set. @param connection The request connection that is starting a network request */ - (void)requestConnectionWillBeginLoading:(id)connection; /** @method Tells the delegate the request connection finished loading If the request connection completes without a network error occurring then this method is called. Invocation of this method does not indicate success of every made, only that the request connection has no further activity. Use the error argument passed to the FBSDKGraphRequestBlock block to determine success or failure of each . This method is invoked after the completion handler for each . @param connection The request connection that successfully completed a network request */ - (void)requestConnectionDidFinishLoading:(id)connection; /** @method Tells the delegate the request connection failed with an error If the request connection fails with a network error then this method is called. The `error` argument specifies why the network connection failed. The `NSError` object passed to the FBSDKGraphRequestBlock block may contain additional information. @param connection The request connection that successfully completed a network request @param error The `NSError` representing the network error that occurred, if any. May be nil in some circumstances. Consult the `NSError` for the for reliable failure information. */ - (void)requestConnection:(id)connection didFailWithError:(NSError *)error; /** @method Tells the delegate how much data has been sent and is planned to send to the remote host The byte count arguments refer to the aggregated objects, not a particular . Like `NSURLSession`, the values may change in unexpected ways if data needs to be resent. @param connection The request connection transmitting data to a remote host @param bytesWritten The number of bytes sent in the last transmission @param totalBytesWritten The total number of bytes sent to the remote host @param totalBytesExpectedToWrite The total number of bytes expected to send to the remote host */ - (void) requestConnection:(id)connection didSendBodyData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite; @end NS_ASSUME_NONNULL_END