1// Copyright (c) 2011 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 CHROME_COMMON_COMMON_PARAM_TRAITS_H_
6#define CHROME_COMMON_COMMON_PARAM_TRAITS_H_
7#pragma once
8
9#include <string>
10
11#include "chrome/common/content_settings.h"
12#include "ipc/ipc_param_traits.h"
13
14namespace IPC {
15
16class Message;
17
18template <>
19struct ParamTraits<ContentSetting> {
20  typedef ContentSetting param_type;
21  static void Write(Message* m, const param_type& p);
22  static bool Read(const Message* m, void** iter, param_type* p);
23  static void Log(const param_type& p, std::string* l);
24};
25
26template <>
27struct ParamTraits<ContentSettingsType> {
28  typedef ContentSettingsType param_type;
29  static void Write(Message* m, const param_type& p);
30  static bool Read(const Message* m, void** iter, param_type* p);
31  static void Log(const param_type& p, std::string* l);
32};
33
34}  // namespace IPC
35
36#endif  // CHROME_COMMON_COMMON_PARAM_TRAITS_H_
37