# Copyright 2020 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Please, read https://fuchsia.dev/fuchsia-src/contribute/docs/documentation-navigation-toc
# before making changes to this file, and add a member of the fuchsia.dev
# team as reviewer.
toc:
- title: "Overview"
  path: /docs/development/languages/fidl
- title: "Developer guide"
  section:
  - include: /docs/development/languages/fidl/guides/_toc.yaml
- title: "Compatibility guide"
  section:
  - include: /docs/development/languages/fidl/guides/compatibility/_toc.yaml
- title: "Tutorials"
  section:
  - title: "Overview"
    path: /docs/development/languages/fidl/tutorials/overview.md
  - title: "Compiling FIDL"
    path: /docs/development/languages/fidl/tutorials/fidl.md
  - title: "HLCPP"
    section:
    - title: "Overview"
      path: /docs/development/languages/fidl/tutorials/hlcpp/README.md
    - title: "Getting started"
      section:
      - include: /docs/development/languages/fidl/tutorials/hlcpp/basics/_toc.yaml
    - title: "Debug output"
      path: /docs/development/languages/fidl/tutorials/hlcpp/topics/fostr.md
    - title: "Serving multiple clients"
      path: /docs/development/languages/fidl/tutorials/hlcpp/topics/multiple-clients.md
    - title: "Request pipelining"
      path: /docs/development/languages/fidl/tutorials/hlcpp/topics/request-pipelining.md
    - title: "Services"
      path: /docs/development/languages/fidl/tutorials/hlcpp/topics/services.md
    - title: "Testing protocols"
      path: /docs/development/languages/fidl/tutorials/hlcpp/topics/testing.md
  - title: "LLCPP"
    section:
    - title: "Overview"
      path: /docs/development/languages/fidl/tutorials/llcpp/README.md
    - title: "Getting started"
      section:
      - include: /docs/development/languages/fidl/tutorials/llcpp/basics/_toc.yaml
    - title: "Async server responses"
      path: /docs/development/languages/fidl/tutorials/llcpp/topics/async-completer.md
    - title: "Request pipelining"
      path: /docs/development/languages/fidl/tutorials/llcpp/topics/request-pipelining.md
    - title: "Services"
      path: /docs/development/languages/fidl/tutorials/llcpp/topics/services.md
  - title: "Rust"
    section:
    - title: "Overview"
      path: /docs/development/languages/fidl/tutorials/rust/README.md
    - title: "Getting started"
      section:
      - include: /docs/development/languages/fidl/tutorials/rust/basics/_toc.yaml
    - title: "Request pipelining"
      path: /docs/development/languages/fidl/tutorials/rust/topics/request-pipelining.md
    - title: "Services"
      path: /docs/development/languages/fidl/tutorials/rust/topics/services.md
  - title: "Dart"
    section:
    - title: "Overview"
      path: /docs/development/languages/fidl/tutorials/dart/README.md
    - title: "Getting started"
      section:
      - include: /docs/development/languages/fidl/tutorials/dart/basics/_toc.yaml
    - title: "Request pipelining"
      path: /docs/development/languages/fidl/tutorials/dart/topics/request-pipelining.md
  - title: "C"
    path: /docs/development/languages/fidl/tutorials/tutorial-c.md
