blob: def64e39725b8c98ac0b33316a8d377181673241 [file] [log] [blame]
// 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 TESTING_FIDL_FROBINATOR_IMPL_H_
#define TESTING_FIDL_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();
uint32_t send_basic_union_received_value_ = 0;
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;
void SendEventHandle(zx::event event) override;
void SendProtocol(fidl::InterfaceHandle<fidl::test::frobinator::EmptyProtocol> ep) override;
void SendBasicUnion(fidl::test::frobinator::BasicUnion u) override;
};
} // namespace test
} // namespace fidl
#endif // TESTING_FIDL_FROBINATOR_IMPL_H_