You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.6 KiB
46 lines
1.6 KiB
// Copyright 2017 The Chromium 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 MOJO_PUBLIC_TOOLS_FUZZERS_FUZZ_IMPL_H_
|
|
#define MOJO_PUBLIC_TOOLS_FUZZERS_FUZZ_IMPL_H_
|
|
|
|
#include "mojo/public/cpp/bindings/associated_binding_set.h"
|
|
#include "mojo/public/cpp/bindings/binding.h"
|
|
#include "mojo/public/tools/fuzzers/fuzz.mojom.h"
|
|
|
|
class FuzzImpl : public fuzz::mojom::FuzzInterface,
|
|
public fuzz::mojom::FuzzDummyInterface {
|
|
public:
|
|
explicit FuzzImpl(fuzz::mojom::FuzzInterfaceRequest request);
|
|
~FuzzImpl() override;
|
|
|
|
// fuzz::mojom::FuzzInterface:
|
|
void FuzzBasic() override;
|
|
void FuzzBasicResp(FuzzBasicRespCallback callback) override;
|
|
void FuzzBasicSyncResp(FuzzBasicSyncRespCallback callback) override;
|
|
void FuzzArgs(fuzz::mojom::FuzzStructPtr a,
|
|
fuzz::mojom::FuzzStructPtr b) override;
|
|
|
|
void FuzzArgsResp(fuzz::mojom::FuzzStructPtr a,
|
|
fuzz::mojom::FuzzStructPtr b,
|
|
FuzzArgsRespCallback callback) override;
|
|
void FuzzArgsSyncResp(fuzz::mojom::FuzzStructPtr a,
|
|
fuzz::mojom::FuzzStructPtr b,
|
|
FuzzArgsSyncRespCallback callback) override;
|
|
|
|
void FuzzAssociated(
|
|
fuzz::mojom::FuzzDummyInterfaceAssociatedRequest req) override;
|
|
|
|
// fuzz::mojom::FuzzDummyInterface:
|
|
void Ping() override;
|
|
|
|
/* Expose the binding to the fuzz harness. */
|
|
mojo::Binding<FuzzInterface> binding_;
|
|
|
|
private:
|
|
mojo::AssociatedBindingSet<FuzzDummyInterface> associated_bindings_;
|
|
};
|
|
|
|
#endif // MOJO_PUBLIC_TOOLS_FUZZERS_FUZZ_IMPL_H_
|