|  | // Copyright (c) 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 NET_SPDY_SPDY_HEADER_BLOCK_H_ | 
|  | #define NET_SPDY_SPDY_HEADER_BLOCK_H_ | 
|  |  | 
|  | #include <map> | 
|  | #include <string> | 
|  |  | 
|  | #include "net/base/net_export.h" | 
|  | #include "net/base/net_log.h" | 
|  |  | 
|  | namespace net { | 
|  |  | 
|  | // A data structure for holding a set of headers from either a | 
|  | // SYN_STREAM or SYN_REPLY frame. | 
|  | typedef std::map<std::string, std::string> SpdyHeaderBlock; | 
|  |  | 
|  | // Converts a SpdyHeaderBlock into NetLog event parameters.  Caller takes | 
|  | // ownership of returned value. | 
|  | NET_EXPORT base::Value* SpdyHeaderBlockNetLogCallback( | 
|  | const SpdyHeaderBlock* headers, | 
|  | NetLog::LogLevel log_level); | 
|  |  | 
|  | // Converts NetLog event parameters into a SPDY header block and writes them | 
|  | // to |headers|.  |event_param| must have been created by | 
|  | // SpdyHeaderBlockNetLogCallback.  On failure, returns false and clears | 
|  | // |headers|. | 
|  | NET_EXPORT bool SpdyHeaderBlockFromNetLogParam( | 
|  | const base::Value* event_param, | 
|  | SpdyHeaderBlock* headers); | 
|  |  | 
|  | }  // namespace net | 
|  |  | 
|  | #endif  // NET_SPDY_SPDY_HEADER_BLOCK_H_ |