OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_COMMON_INDEXED_DB_INDEXED_DB_PARAM_TRAITS_H_ | 5 #ifndef CONTENT_COMMON_INDEXED_DB_INDEXED_DB_PARAM_TRAITS_H_ |
6 #define CONTENT_COMMON_INDEXED_DB_INDEXED_DB_PARAM_TRAITS_H_ | 6 #define CONTENT_COMMON_INDEXED_DB_INDEXED_DB_PARAM_TRAITS_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "ipc/ipc_message.h" | 10 #include "ipc/ipc_message.h" |
11 #include "ipc/ipc_param_traits.h" | 11 #include "ipc/ipc_param_traits.h" |
12 | 12 |
13 namespace content { | 13 namespace content { |
14 class IndexedDBKey; | 14 class IndexedDBKey; |
15 class IndexedDBKeyPath; | 15 class IndexedDBKeyPath; |
16 class IndexedDBKeyRange; | 16 class IndexedDBKeyRange; |
17 } | 17 } |
18 | 18 |
19 namespace IPC { | 19 namespace IPC { |
20 | 20 |
21 template <> | 21 template <> |
22 struct ParamTraits<content::IndexedDBKey> { | 22 struct ParamTraits<content::IndexedDBKey> { |
23 typedef content::IndexedDBKey param_type; | 23 typedef content::IndexedDBKey param_type; |
| 24 static void GetSize(base::PickleSizer* s, const param_type& p); |
24 static void Write(base::Pickle* m, const param_type& p); | 25 static void Write(base::Pickle* m, const param_type& p); |
25 static bool Read(const base::Pickle* m, | 26 static bool Read(const base::Pickle* m, |
26 base::PickleIterator* iter, | 27 base::PickleIterator* iter, |
27 param_type* r); | 28 param_type* r); |
28 static void Log(const param_type& p, std::string* l); | 29 static void Log(const param_type& p, std::string* l); |
29 }; | 30 }; |
30 | 31 |
31 template <> | 32 template <> |
32 struct ParamTraits<content::IndexedDBKeyRange> { | 33 struct ParamTraits<content::IndexedDBKeyRange> { |
33 typedef content::IndexedDBKeyRange param_type; | 34 typedef content::IndexedDBKeyRange param_type; |
| 35 static void GetSize(base::PickleSizer* s, const param_type& p); |
34 static void Write(base::Pickle* m, const param_type& p); | 36 static void Write(base::Pickle* m, const param_type& p); |
35 static bool Read(const base::Pickle* m, | 37 static bool Read(const base::Pickle* m, |
36 base::PickleIterator* iter, | 38 base::PickleIterator* iter, |
37 param_type* r); | 39 param_type* r); |
38 static void Log(const param_type& p, std::string* l); | 40 static void Log(const param_type& p, std::string* l); |
39 }; | 41 }; |
40 | 42 |
41 template <> | 43 template <> |
42 struct ParamTraits<content::IndexedDBKeyPath> { | 44 struct ParamTraits<content::IndexedDBKeyPath> { |
43 typedef content::IndexedDBKeyPath param_type; | 45 typedef content::IndexedDBKeyPath param_type; |
| 46 static void GetSize(base::PickleSizer* s, const param_type& p); |
44 static void Write(base::Pickle* m, const param_type& p); | 47 static void Write(base::Pickle* m, const param_type& p); |
45 static bool Read(const base::Pickle* m, | 48 static bool Read(const base::Pickle* m, |
46 base::PickleIterator* iter, | 49 base::PickleIterator* iter, |
47 param_type* r); | 50 param_type* r); |
48 static void Log(const param_type& p, std::string* l); | 51 static void Log(const param_type& p, std::string* l); |
49 }; | 52 }; |
50 | 53 |
51 } // namespace IPC | 54 } // namespace IPC |
52 | 55 |
53 #endif // CONTENT_COMMON_INDEXED_DB_INDEXED_DB_PARAM_TRAITS_H_ | 56 #endif // CONTENT_COMMON_INDEXED_DB_INDEXED_DB_PARAM_TRAITS_H_ |
OLD | NEW |