| // 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. | 
 |  | 
 | #ifndef LIB_FIDL_CPP_TEST_FROBINATOR_IMPL_H_ | 
 | #define LIB_FIDL_CPP_TEST_FROBINATOR_IMPL_H_ | 
 |  | 
 | #include <lib/fit/function.h> | 
 |  | 
 | #include <string> | 
 | #include <vector> | 
 |  | 
 | #include <fidl/test/frobinator/cpp/fidl.h> | 
 |  | 
 | namespace fidl { | 
 | namespace test { | 
 |  | 
 | class FrobinatorImpl : public fidl::test::frobinator::Frobinator { | 
 |  public: | 
 |   FrobinatorImpl(fit::closure on_destroy = [] {}); | 
 |   ~FrobinatorImpl(); | 
 |  | 
 |   std::vector<std::string> frobs; | 
 |   std::vector<std::string> grobs; | 
 |   fit::closure on_destroy_; | 
 |  | 
 |   void Frob(std::string value) override; | 
 |   void Grob(std::string value, GrobCallback callback) override; | 
 |   void Fail(bool fail, FailCallback callback) override; | 
 |   void FailHard(bool fail, FailHardCallback callback) override; | 
 |   void FailHardest(bool fail, FailHardestCallback callback) override; | 
 | }; | 
 |  | 
 | }  // namespace test | 
 | }  // namespace fidl | 
 |  | 
 | #endif  // LIB_FIDL_CPP_TEST_FROBINATOR_IMPL_H_ |