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

// fidl_experiment = output_index_json

#pragma once

#include <test/versions/cpp/fidl.h>
namespace test {
namespace versions {
namespace testing {

class OtherProtocol_TestBase : public ::test::versions::OtherProtocol {
 public:
  virtual ~OtherProtocol_TestBase() {}
  virtual void NotImplemented_(const std::string& name) = 0;
};

class Protocol_TestBase : public ::test::versions::Protocol {
 public:
  virtual ~Protocol_TestBase() {}
  virtual void NotImplemented_(const std::string& name) = 0;
  void Foo() override {
    NotImplemented_("Foo");
  }
};
}  // namespace testing
}  // namespace versions
}  // namespace test
