OLD | NEW |
| (Empty) |
1 // Copyright 2014 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 NET_BASE_SDCH_OBSERVER_H_ | |
6 #define NET_BASE_SDCH_OBSERVER_H_ | |
7 | |
8 #include <iosfwd> | |
9 #include <string> | |
10 | |
11 #include "net/base/net_export.h" | |
12 | |
13 class GURL; | |
14 | |
15 namespace net { | |
16 | |
17 class SdchManager; | |
18 | |
19 // Observer interface for SDCH. Observers can register with | |
20 // the SdchManager to receive notifications of various SDCH events. | |
21 class NET_EXPORT SdchObserver { | |
22 public: | |
23 virtual ~SdchObserver(); | |
24 | |
25 // TODO(rdsmith): Add Added/Removed signals. These are only needed if | |
26 // we end up with an implementation in which more than one observer | |
27 // generates Add/Removed events; otherwise, tracking can be done internally. | |
28 | |
29 // TODO(rdsmith): Add signal that an Avail-Dictionary header was generated. | |
30 // Should be added if/when an observer wants to use it to fine-tune | |
31 // dictionary deprecation (e.g. if Avail-Dictionary is generated and | |
32 // the remote *doesn't* use it, that should deprecate the dictionary faster) | |
33 | |
34 // A SDCH encoded response was received and the specified dictionary | |
35 // was used to decode it. This notification only occurs for successful | |
36 // decodes. | |
37 // TODO(rdsmith): Should this notification indicate how much | |
38 // compression the dictionary provided? | |
39 virtual void OnDictionaryUsed(SdchManager* manager, | |
40 const std::string& server_hash) = 0; | |
41 | |
42 // A "Get-Dictionary" header has been seen. | |
43 virtual void OnGetDictionary(SdchManager* manager, | |
44 const GURL& request_url, | |
45 const GURL& dictionary_url) = 0; | |
46 | |
47 // Notification that SDCH has received a request to clear all | |
48 // its dictionaries. | |
49 virtual void OnClearDictionaries(SdchManager* manager) = 0; | |
50 }; | |
51 | |
52 } // namespace net | |
53 | |
54 #endif // NET_BASE_SDCH_MANAGER_H_ | |
OLD | NEW |