chromium/services/tracing/public/mojom/commit_data_request_mojom_traits.h

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// This defines mappings from mojom IPC representations to their native perfetto
// equivalents.

#ifndef SERVICES_TRACING_PUBLIC_MOJOM_COMMIT_DATA_REQUEST_MOJOM_TRAITS_H_
#define SERVICES_TRACING_PUBLIC_MOJOM_COMMIT_DATA_REQUEST_MOJOM_TRAITS_H_

#include <string>
#include <vector>

#include "mojo/public/cpp/bindings/struct_traits.h"
#include "services/tracing/public/mojom/perfetto_service.mojom-shared.h"
#include "third_party/perfetto/include/perfetto/ext/tracing/core/commit_data_request.h"

namespace mojo {

// ChunksToMove
template <>
class StructTraits<tracing::mojom::ChunksToMoveDataView,
                   perfetto::CommitDataRequest::ChunksToMove> {};

// ChunkPatch
template <>
class StructTraits<tracing::mojom::ChunkPatchDataView,
                   perfetto::CommitDataRequest::ChunkToPatch::Patch> {};

// ChunkToPatch
template <>
class StructTraits<tracing::mojom::ChunksToPatchDataView,
                   perfetto::CommitDataRequest::ChunkToPatch> {};

// CommitDataRequest
template <>
class StructTraits<tracing::mojom::CommitDataRequestDataView,
                   perfetto::CommitDataRequest> {};
}  // namespace mojo
#endif  // SERVICES_TRACING_PUBLIC_MOJOM_COMMIT_DATA_REQUEST_MOJOM_TRAITS_H_