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

// The definitions corresponding to the declarations in this file are
// automatically generated by the build system.  See rules.mk for the
// gory details.

#ifndef TOOLS_FIDL_FIDLC_INCLUDE_FIDL_JSON_SCHEMA_H_
#define TOOLS_FIDL_FIDLC_INCLUDE_FIDL_JSON_SCHEMA_H_

#include <string>

class JsonSchema {
 public:
  static std::string& schema() { return schema_; }

 private:
  static std::string schema_;
};

#endif  // TOOLS_FIDL_FIDLC_INCLUDE_FIDL_JSON_SCHEMA_H_
