Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / remoting / host / chromoting_param_traits.h
blob9da88f8a347d15e05ec850024e22eece58781e44
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.
5 #ifndef REMOTING_HOST_CHROMOTING_PARAM_TRAITS_H_
6 #define REMOTING_HOST_CHROMOTING_PARAM_TRAITS_H_
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_frame.h"
12 #include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h"
13 #include "third_party/webrtc/modules/desktop_capture/mouse_cursor.h"
15 namespace IPC {
17 template <>
18 struct ParamTraits<webrtc::DesktopVector> {
19 typedef webrtc::DesktopVector param_type;
20 static void Write(Message* m, const param_type& p);
21 static bool Read(const Message* m, base::PickleIterator* iter, param_type* r);
22 static void Log(const param_type& p, std::string* l);
25 template <>
26 struct ParamTraits<webrtc::DesktopSize> {
27 typedef webrtc::DesktopSize param_type;
28 static void Write(Message* m, const param_type& p);
29 static bool Read(const Message* m, base::PickleIterator* iter, param_type* r);
30 static void Log(const param_type& p, std::string* l);
33 template <>
34 struct ParamTraits<webrtc::DesktopRect> {
35 typedef webrtc::DesktopRect param_type;
36 static void Write(Message* m, const param_type& p);
37 static bool Read(const Message* m, base::PickleIterator* iter, param_type* r);
38 static void Log(const param_type& p, std::string* l);
41 template <>
42 struct ParamTraits<webrtc::MouseCursor> {
43 typedef webrtc::MouseCursor param_type;
44 static void Write(Message* m, const param_type& p);
45 static bool Read(const Message* m, base::PickleIterator* iter, param_type* r);
46 static void Log(const param_type& p, std::string* l);
49 template <>
50 struct ParamTraits<remoting::ScreenResolution> {
51 typedef remoting::ScreenResolution param_type;
52 static void Write(Message* m, const param_type& p);
53 static bool Read(const Message* m, base::PickleIterator* iter, param_type* r);
54 static void Log(const param_type& p, std::string* l);
57 } // namespace IPC
59 #endif // REMOTING_HOST_CHROMOTING_PARAM_TRAITS_H_