Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / content / common / indexed_db / indexed_db_param_traits.h
blob8f6eeb20bee76cf8d56e6b4b37f94cef9beb361a
1 // Copyright (c) 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.
5 #ifndef CONTENT_COMMON_INDEXED_DB_INDEXED_DB_PARAM_TRAITS_H_
6 #define CONTENT_COMMON_INDEXED_DB_INDEXED_DB_PARAM_TRAITS_H_
8 #include <string>
10 #include "ipc/ipc_message.h"
11 #include "ipc/ipc_param_traits.h"
13 namespace content {
14 class IndexedDBKey;
15 class IndexedDBKeyPath;
16 class IndexedDBKeyRange;
19 namespace IPC {
21 template <>
22 struct ParamTraits<content::IndexedDBKey> {
23 typedef content::IndexedDBKey param_type;
24 static void Write(Message* m, const param_type& p);
25 static bool Read(const Message* m, base::PickleIterator* iter, param_type* r);
26 static void Log(const param_type& p, std::string* l);
29 template <>
30 struct ParamTraits<content::IndexedDBKeyRange> {
31 typedef content::IndexedDBKeyRange param_type;
32 static void Write(Message* m, const param_type& p);
33 static bool Read(const Message* m, base::PickleIterator* iter, param_type* r);
34 static void Log(const param_type& p, std::string* l);
37 template <>
38 struct ParamTraits<content::IndexedDBKeyPath> {
39 typedef content::IndexedDBKeyPath param_type;
40 static void Write(Message* m, const param_type& p);
41 static bool Read(const Message* m, base::PickleIterator* iter, param_type* r);
42 static void Log(const param_type& p, std::string* l);
45 } // namespace IPC
47 #endif // CONTENT_COMMON_INDEXED_DB_INDEXED_DB_PARAM_TRAITS_H_