NEFilterSourceSPI.h [plain text]
#if USE(APPLE_INTERNAL_SDK)
#import <NetworkExtension/NEFilterSource.h>
#else
typedef NS_ENUM(NSInteger, NEFilterSourceStatus) {
NEFilterSourceStatusPass = 1,
NEFilterSourceStatusBlock = 2,
NEFilterSourceStatusNeedsMoreData = 3,
NEFilterSourceStatusError = 4,
NEFilterSourceStatusWhitelisted = 5,
NEFilterSourceStatusBlacklisted = 6,
};
typedef NS_ENUM(NSInteger, NEFilterSourceDirection) {
NEFilterSourceDirectionOutbound = 1,
NEFilterSourceDirectionInbound = 2,
};
@interface NEFilterSource : NSObject
@end
@interface NEFilterSource (WKLegacyDetails)
+ (BOOL)filterRequired;
- (id)initWithURL:(NSURL *)url direction:(NEFilterSourceDirection)direction socketIdentifier:(uint64_t)socketIdentifier;
- (void)addData:(NSData *)data withCompletionQueue:(dispatch_queue_t)queue completionHandler:(void (^)(NEFilterSourceStatus, NSData *))completionHandler;
- (void)dataCompleteWithCompletionQueue:(dispatch_queue_t)queue completionHandler:(void (^)(NEFilterSourceStatus, NSData *))completionHandler;
@property (readonly) NEFilterSourceStatus status;
@property (readonly) NSURL *url;
@property (readonly) NEFilterSourceDirection direction;
@property (readonly) uint64_t socketIdentifier;
@end
#define NEFilterSourceOptionsPageData @"PageData"
#define NEFilterSourceOptionsRedirectURL @"RedirectURL"
typedef void (^NEFilterSourceDecisionHandler)(NEFilterSourceStatus, NSDictionary *);
@interface NEFilterSource (WKModernDetails)
- (id)initWithDecisionQueue:(dispatch_queue_t)queue;
- (void)willSendRequest:(NSURLRequest *)request decisionHandler:(NEFilterSourceDecisionHandler)decisionHandler;
- (void)receivedResponse:(NSURLResponse *)response decisionHandler:(NEFilterSourceDecisionHandler)decisionHandler;
- (void)receivedData:(NSData *)data decisionHandler:(NEFilterSourceDecisionHandler)decisionHandler;
- (void)finishedLoadingWithDecisionHandler:(NEFilterSourceDecisionHandler)decisionHandler;
- (void)remediateWithDecisionHandler:(NEFilterSourceDecisionHandler)decisionHandler;
#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
@property (copy) NSString *sourceAppIdentifier;
@property (assign) pid_t sourceAppPid;
#endif
@end
#endif // !USE(APPLE_INTERNAL_SDK)