OLD | NEW |
| (Empty) |
1 // Copyright (c) 2010 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 CHROME_COMMON_INDEXED_DB_PARAM_TRAITS_H_ | |
6 #define CHROME_COMMON_INDEXED_DB_PARAM_TRAITS_H_ | |
7 #pragma once | |
8 | |
9 #include "ipc/ipc_message.h" | |
10 #include "ipc/ipc_param_traits.h" | |
11 | |
12 class IndexedDBKey; | |
13 class SerializedScriptValue; | |
14 | |
15 namespace IPC { | |
16 | |
17 // These datatypes are used by utility_messages.h and render_messages.h. | |
18 // Unfortunately we can't move it to common: MSVC linker complains about | |
19 // WebKit datatypes that are not linked on npchrome_frame (even though it's | |
20 // never actually used by that target). | |
21 | |
22 template <> | |
23 struct ParamTraits<SerializedScriptValue> { | |
24 typedef SerializedScriptValue param_type; | |
25 static void Write(Message* m, const param_type& p); | |
26 static bool Read(const Message* m, void** iter, param_type* r); | |
27 static void Log(const param_type& p, std::string* l); | |
28 }; | |
29 | |
30 template <> | |
31 struct ParamTraits<IndexedDBKey> { | |
32 typedef IndexedDBKey param_type; | |
33 static void Write(Message* m, const param_type& p); | |
34 static bool Read(const Message* m, void** iter, param_type* r); | |
35 static void Log(const param_type& p, std::string* l); | |
36 }; | |
37 | |
38 } // namespace IPC | |
39 | |
40 #endif // CHROME_COMMON_INDEXED_DB_PARAM_TRAITS_H_ | |
OLD | NEW |