summaryrefslogtreecommitdiffstats
path: root/content/common/devtools_messages.cc
blob: bc61d4c4fcb74edb1547ba0a5d848e74f0ee02c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "content/common/devtools_messages.h"

namespace IPC {

void ParamTraits<content::ConsoleMessageLevel>::Write(Message* m,
                                                      const param_type& p) {
  m->WriteInt(static_cast<int>(p));
}

bool ParamTraits<content::ConsoleMessageLevel>::Read(const Message* m,
                                                     PickleIterator* iter,
                                                     param_type* p) {
  int type;
  if (!m->ReadInt(iter, &type))
    return false;
  *p = static_cast<param_type>(type);
  return true;
}

void ParamTraits<content::ConsoleMessageLevel>::Log(const param_type& p,
                                                    std::string* l) {
  std::string level;
  switch (p) {
    case content::CONSOLE_MESSAGE_LEVEL_TIP:
      level = "CONSOLE_MESSAGE_LEVEL_TIP";
      break;
    case content::CONSOLE_MESSAGE_LEVEL_LOG:
      level = "CONSOLE_MESSAGE_LEVEL_LOG";
      break;
    case content::CONSOLE_MESSAGE_LEVEL_WARNING:
      level = "CONSOLE_MESSAGE_LEVEL_WARNING";
      break;
    case content::CONSOLE_MESSAGE_LEVEL_ERROR:
      level = "CONSOLE_MESSAGE_LEVEL_ERROR";
      break;
  }
  LogParam(level, l);
}

}  // namespace IPC