1// Copyright 2014 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 UI_EVENTS_IPC_LATENCY_INFO_PARAM_TRAITS_H_
6#define UI_EVENTS_IPC_LATENCY_INFO_PARAM_TRAITS_H_
7
8#include "ipc/ipc_message_macros.h"
9#include "ui/events/events_export.h"
10#include "ui/events/latency_info.h"
11
12#undef IPC_MESSAGE_EXPORT
13#define IPC_MESSAGE_EXPORT EVENTS_EXPORT
14
15IPC_ENUM_TRAITS_MAX_VALUE(ui::LatencyComponentType,
16                          ui::LATENCY_COMPONENT_TYPE_LAST)
17
18IPC_STRUCT_TRAITS_BEGIN(ui::LatencyInfo::LatencyComponent)
19  IPC_STRUCT_TRAITS_MEMBER(sequence_number)
20  IPC_STRUCT_TRAITS_MEMBER(event_time)
21  IPC_STRUCT_TRAITS_MEMBER(event_count)
22IPC_STRUCT_TRAITS_END()
23
24IPC_STRUCT_TRAITS_BEGIN(ui::LatencyInfo)
25  IPC_STRUCT_TRAITS_MEMBER(latency_components)
26  IPC_STRUCT_TRAITS_MEMBER(trace_id)
27  IPC_STRUCT_TRAITS_MEMBER(terminated)
28IPC_STRUCT_TRAITS_END()
29
30#endif // UI_EVENTS_IPC_LATENCY_INFO_PARAM_TRAITS_H_
31