// WARNING: This file is machine generated by fidlgen.

// fidl_experiment = output_index_json

#pragma once

#include <fidl/test.handles/cpp/fidl.h>

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wshadow"

namespace fidl {
namespace testing {

template <>
class TestBase<::test_handles::SomeProtocol> : public ::fidl::Server<::test_handles::SomeProtocol> {
 public:
  virtual ~TestBase<::test_handles::SomeProtocol>() = default;
  virtual void NotImplemented_(const std::string& name, ::fidl::CompleterBase& completer) = 0;
};
#pragma clang diagnostic pop

}  // namespace testing
}  // namespace fidl
