summaryrefslogtreecommitdiffstats
path: root/ios/net/crn_http_protocol_handler_proxy.h
blob: bd3a2ea23090cfeddcf11d13a35c49f4ad242aed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Copyright 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef IOS_NET_CRN_HTTP_PROTOCOL_HANDLER_PROXY_H_
#define IOS_NET_CRN_HTTP_PROTOCOL_HANDLER_PROXY_H_

#import <Foundation/Foundation.h>

#import "ios/net/clients/crn_network_client_protocol.h"

// HttpProtocolHandlerProxy is responsible for managing access to the
// NSURLProtocol and its client.
@protocol CRNHTTPProtocolHandlerProxy<CRNNetworkClientProtocol>

// All of the methods defined below must be called on the client thread. Methods
// defined by |CRNNetworkClientProtocol| can be called on any thread.

// Invalidates any reference to the protocol handler: the handler will never
// be called after this.
- (void)invalidate;

// Pauses notifications from this protocol handler.
- (void)pause;

// Resumes notifications from this protocol handler.
- (void)resume;

@end

#endif  // IOS_NET_CRN_HTTP_PROTOCOL_HANDLER_PROXY_H_