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

#pragma once

#include <test/nullable/cpp/fidl.h>
namespace test {
namespace nullable {
namespace testing {
class SimpleProtocol_TestBase : public ::test::nullable::SimpleProtocol {
 public:
  virtual ~SimpleProtocol_TestBase() {}
  virtual void NotImplemented_(const std::string& name) = 0;
  void Add(int32_t a, int32_t b, AddCallback callback) override {
    NotImplemented_("Add");
  }
};
}  // namespace testing
}  // namespace nullable
}  // namespace test
