| 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 |