// Copyright 2016 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.

module cc.mojom;

import "cc/ipc/begin_frame_args.mojom";
import "cc/ipc/compositor_frame.mojom";
import "cc/ipc/compositor_frame_metadata.mojom";
import "cc/ipc/filter_operation.mojom";
import "cc/ipc/filter_operations.mojom";
import "cc/ipc/quads.mojom";
import "cc/ipc/render_pass.mojom";
import "cc/ipc/render_pass_id.mojom";
import "cc/ipc/returned_resource.mojom";
import "cc/ipc/selection.mojom";
import "cc/ipc/shared_quad_state.mojom";
import "cc/ipc/surface_id.mojom";
import "cc/ipc/surface_sequence.mojom";
import "cc/ipc/transferable_resource.mojom";

// All functions on this interface echo their arguments to test StructTraits
// serialization and deserialization.
interface TraitsTestService {
  [Sync]
  EchoBeginFrameArgs(BeginFrameArgs b) => (BeginFrameArgs pass);

  [Sync]
  EchoCompositorFrame(CompositorFrame c) => (CompositorFrame pass);

  [Sync]
  EchoCompositorFrameMetadata(CompositorFrameMetadata c) =>
      (CompositorFrameMetadata pass);

  [Sync]
  EchoFilterOperation(FilterOperation f) => (FilterOperation pass);

  [Sync]
  EchoFilterOperations(FilterOperations f) => (FilterOperations pass);

  [Sync]
  EchoQuadList(QuadList q) => (QuadList pass);

  [Sync]
  EchoRenderPass(RenderPass r) => (RenderPass pass);

  [Sync]
  EchoRenderPassId(RenderPassId r) => (RenderPassId pass);

  [Sync]
  EchoReturnedResource(ReturnedResource r) => (ReturnedResource pass);

  [Sync]
  EchoSelection(Selection s) => (Selection pass);

  [Sync]
  EchoSharedQuadState(SharedQuadState s) => (SharedQuadState pass);

  [Sync]
  EchoSurfaceId(SurfaceId s) => (SurfaceId pass);

  [Sync]
  EchoSurfaceSequence(SurfaceSequence s) => (SurfaceSequence pass);

  [Sync]
  EchoTransferableResource(TransferableResource t) =>
      (TransferableResource pass);
};
