# 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/community/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: "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
