blob: bd3a2ea23090cfeddcf11d13a35c49f4ad242aed [file] [log] [blame]
droger476922e02015-03-10 17:17:521// Copyright 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef IOS_NET_CRN_HTTP_PROTOCOL_HANDLER_PROXY_H_
6#define IOS_NET_CRN_HTTP_PROTOCOL_HANDLER_PROXY_H_
7
8#import <Foundation/Foundation.h>
9
10#import "ios/net/clients/crn_network_client_protocol.h"
11
12// HttpProtocolHandlerProxy is responsible for managing access to the
13// NSURLProtocol and its client.
14@protocol CRNHTTPProtocolHandlerProxy<CRNNetworkClientProtocol>
15
ellyjones7d0f7a22015-06-12 15:30:0016// All of the methods defined below must be called on the client thread. Methods
17// defined by |CRNNetworkClientProtocol| can be called on any thread.
18
droger476922e02015-03-10 17:17:5219// Invalidates any reference to the protocol handler: the handler will never
20// be called after this.
droger476922e02015-03-10 17:17:5221- (void)invalidate;
22
ellyjones7d0f7a22015-06-12 15:30:0023// Pauses notifications from this protocol handler.
24- (void)pause;
25
26// Resumes notifications from this protocol handler.
27- (void)resume;
28
droger476922e02015-03-10 17:17:5229@end
30
31#endif // IOS_NET_CRN_HTTP_PROTOCOL_HANDLER_PROXY_H_