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

#pragma once

#include <test/emptystruct/cpp/fidl.h>
namespace test {
namespace emptystruct {
namespace testing {
class EmptyProtocol_TestBase : public ::test::emptystruct::EmptyProtocol {
 public:
  virtual ~EmptyProtocol_TestBase() {}
  virtual void NotImplemented_(const std::string& name) = 0;
  void Send(::test::emptystruct::Empty e) override {
    NotImplemented_("Send");
  }
  void SendAndReceive(::test::emptystruct::Empty e, SendAndReceiveCallback callback) override {
    NotImplemented_("SendAndReceive");
  }
};
}  // namespace testing
}  // namespace emptystruct
}  // namespace test
