- add sources.
[platform/framework/web/crosswalk.git] / src / remoting / host / chromoting_param_traits.h
1 // Copyright 2013 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 REMOTING_HOST_CHROMOTING_PARAM_TRAITS_H_
6 #define REMOTING_HOST_CHROMOTING_PARAM_TRAITS_H_
7
8 #include "ipc/ipc_message.h"
9 #include "ipc/ipc_param_traits.h"
10 #include "remoting/host/screen_resolution.h"
11 #include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h"
12
13 namespace IPC {
14
15 template <>
16 struct ParamTraits<webrtc::DesktopVector> {
17   typedef webrtc::DesktopVector param_type;
18   static void Write(Message* m, const param_type& p);
19   static bool Read(const Message* m, PickleIterator* iter, param_type* r);
20   static void Log(const param_type& p, std::string* l);
21 };
22
23 template <>
24 struct ParamTraits<webrtc::DesktopSize> {
25   typedef webrtc::DesktopSize param_type;
26   static void Write(Message* m, const param_type& p);
27   static bool Read(const Message* m, PickleIterator* iter, param_type* r);
28   static void Log(const param_type& p, std::string* l);
29 };
30
31 template <>
32 struct ParamTraits<webrtc::DesktopRect> {
33   typedef webrtc::DesktopRect param_type;
34   static void Write(Message* m, const param_type& p);
35   static bool Read(const Message* m, PickleIterator* iter, param_type* r);
36   static void Log(const param_type& p, std::string* l);
37 };
38
39 template <>
40 struct ParamTraits<remoting::ScreenResolution> {
41   typedef remoting::ScreenResolution param_type;
42   static void Write(Message* m, const param_type& p);
43   static bool Read(const Message* m, PickleIterator* iter, param_type* r);
44   static void Log(const param_type& p, std::string* l);
45 };
46
47 }  // namespace IPC
48
49 #endif  // REMOTING_HOST_CHROMOTING_PARAM_TRAITS_H_