Update code documentation for enum in EWK headers
[platform/framework/web/chromium-efl.git] / ipc / trace_ipc_message.cc
1 // Copyright 2019 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "ipc/trace_ipc_message.h"
6
7 #include <stdint.h>
8
9 #include "ipc/ipc_message_macros.h"
10 #include "ipc/ipc_message_start.h"
11 #include "third_party/perfetto/protos/perfetto/trace/track_event/chrome_legacy_ipc.pbzero.h"
12
13 namespace IPC {
14
15 using perfetto::protos::pbzero::ChromeLegacyIpc;
16
17 void WriteIpcMessageIdAsProtozero(uint32_t message_id,
18                                   ChromeLegacyIpc* legacy_ipc) {
19   ChromeLegacyIpc::MessageClass message_class =
20       ChromeLegacyIpc::CLASS_UNSPECIFIED;
21   switch (IPC_MESSAGE_ID_CLASS(message_id)) {
22     case AutomationMsgStart:
23       message_class = ChromeLegacyIpc::CLASS_AUTOMATION;
24       break;
25     case TestMsgStart:
26       message_class = ChromeLegacyIpc::CLASS_TEST;
27       break;
28     case WorkerMsgStart:
29       message_class = ChromeLegacyIpc::CLASS_WORKER;
30       break;
31     case NaClMsgStart:
32       message_class = ChromeLegacyIpc::CLASS_NACL;
33       break;
34     case PpapiMsgStart:
35       message_class = ChromeLegacyIpc::CLASS_PPAPI;
36       break;
37     case ExtensionMsgStart:
38       message_class = ChromeLegacyIpc::CLASS_EXTENSION;
39       break;
40     case NaClHostMsgStart:
41       message_class = ChromeLegacyIpc::CLASS_NACL_HOST;
42       break;
43     case GinJavaBridgeMsgStart:
44       message_class = ChromeLegacyIpc::CLASS_GIN_JAVA_BRIDGE;
45       break;
46     case ExtensionWorkerMsgStart:
47       message_class = ChromeLegacyIpc::CLASS_EXTENSION_WORKER;
48       break;
49   }
50   legacy_ipc->set_message_class(message_class);
51   legacy_ipc->set_message_line(IPC_MESSAGE_ID_LINE(message_id));
52 }
53
54 }  // namespace IPC