Home | History | Annotate | Download | only in host
      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_
     50