Support JSON Schema properties with values in the JSON Schema Compiler.
[chromium-blink-merge.git] / gpu / ipc / gpu_command_buffer_traits.h
blob1c7e02e76e532bca8f47ae85f78d719d8522a279
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 GPU_IPC_GPU_PARAM_TRAITS_H_
6 #define GPU_IPC_GPU_PARAM_TRAITS_H_
8 #include "gpu/command_buffer/common/command_buffer.h"
9 #include "gpu/gpu_export.h"
10 #include "gpu/ipc/gpu_command_buffer_traits_multi.h"
11 #include "ipc/ipc_message_utils.h"
13 namespace gpu {
14 struct Mailbox;
15 struct MailboxHolder;
16 union ValueState;
19 namespace IPC {
21 template <>
22 struct GPU_EXPORT ParamTraits<gpu::CommandBuffer::State> {
23 typedef gpu::CommandBuffer::State param_type;
24 static void Write(Message* m, const param_type& p);
25 static bool Read(const Message* m, PickleIterator* iter, param_type* p);
26 static void Log(const param_type& p, std::string* l);
29 template<>
30 struct GPU_EXPORT ParamTraits<gpu::Mailbox> {
31 typedef gpu::Mailbox param_type;
32 static void Write(Message* m, const param_type& p);
33 static bool Read(const Message* m, PickleIterator* iter, param_type* p);
34 static void Log(const param_type& p, std::string* l);
37 template <>
38 struct GPU_EXPORT ParamTraits<gpu::MailboxHolder> {
39 typedef gpu::MailboxHolder param_type;
40 static void Write(Message* m, const param_type& p);
41 static bool Read(const Message* m, PickleIterator* iter, param_type* p);
42 static void Log(const param_type& p, std::string* l);
45 template <>
46 struct GPU_EXPORT ParamTraits<gpu::ValueState> {
47 typedef gpu::ValueState param_type;
48 static void Write(Message* m, const param_type& p);
49 static bool Read(const Message* m, PickleIterator* iter, param_type* p);
50 static void Log(const param_type& p, std::string* l);
53 } // namespace IPC
55 #endif // GPU_IPC_GPU_PARAM_TRAITS_H_