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 GPU_IPC_GPU_PARAM_TRAITS_H_ | 5 #ifndef GPU_IPC_GPU_PARAM_TRAITS_H_ |
6 #define GPU_IPC_GPU_PARAM_TRAITS_H_ | 6 #define GPU_IPC_GPU_PARAM_TRAITS_H_ |
7 | 7 |
8 #include "ipc/ipc_message_utils.h" | 8 #include "ipc/ipc_message_utils.h" |
9 #include "gpu/command_buffer/common/command_buffer.h" | 9 #include "gpu/command_buffer/common/command_buffer.h" |
10 #include "gpu/gpu_export.h" | 10 #include "gpu/gpu_export.h" |
11 | 11 |
12 namespace gpu { | 12 namespace gpu { |
13 struct Mailbox; | 13 struct Mailbox; |
| 14 struct MailboxHolder; |
14 } | 15 } |
15 | 16 |
16 namespace IPC { | 17 namespace IPC { |
17 | 18 |
18 template <> | 19 template <> |
19 struct GPU_EXPORT ParamTraits<gpu::CommandBuffer::State> { | 20 struct GPU_EXPORT ParamTraits<gpu::CommandBuffer::State> { |
20 typedef gpu::CommandBuffer::State param_type; | 21 typedef gpu::CommandBuffer::State param_type; |
21 static void Write(Message* m, const param_type& p); | 22 static void Write(Message* m, const param_type& p); |
22 static bool Read(const Message* m, PickleIterator* iter, param_type* p); | 23 static bool Read(const Message* m, PickleIterator* iter, param_type* p); |
23 static void Log(const param_type& p, std::string* l); | 24 static void Log(const param_type& p, std::string* l); |
24 }; | 25 }; |
25 | 26 |
26 template<> | 27 template<> |
27 struct GPU_EXPORT ParamTraits<gpu::Mailbox> { | 28 struct GPU_EXPORT ParamTraits<gpu::Mailbox> { |
28 typedef gpu::Mailbox param_type; | 29 typedef gpu::Mailbox param_type; |
29 static void Write(Message* m, const param_type& p); | 30 static void Write(Message* m, const param_type& p); |
30 static bool Read(const Message* m, PickleIterator* iter, param_type* p); | 31 static bool Read(const Message* m, PickleIterator* iter, param_type* p); |
31 static void Log(const param_type& p, std::string* l); | 32 static void Log(const param_type& p, std::string* l); |
32 }; | 33 }; |
33 | 34 |
| 35 template <> |
| 36 struct GPU_EXPORT ParamTraits<gpu::MailboxHolder> { |
| 37 typedef gpu::MailboxHolder param_type; |
| 38 static void Write(Message* m, const param_type& p); |
| 39 static bool Read(const Message* m, PickleIterator* iter, param_type* p); |
| 40 static void Log(const param_type& p, std::string* l); |
| 41 }; |
| 42 |
34 } // namespace IPC | 43 } // namespace IPC |
35 | 44 |
36 #endif // GPU_IPC_GPU_PARAM_TRAITS_H_ | 45 #endif // GPU_IPC_GPU_PARAM_TRAITS_H_ |
OLD | NEW |