blob: b15a3b819ffe4069ff83509294c4dc4fe9c8ed79 [file] [log] [blame]
// Copyright 2021 The Chromium OS 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 TPM_MANAGER_SERVER_FUZZERS_TPM2_FUZZER_UTILS_IMPL_H_
#define TPM_MANAGER_SERVER_FUZZERS_TPM2_FUZZER_UTILS_IMPL_H_
#include <memory>
#include <fuzzer/FuzzedDataProvider.h>
#include <trunks/fuzzed_command_transceiver.h>
#include "tpm_manager/server/fuzzers/tpm_fuzzer_utils.h"
#include "tpm_manager/server/tpm_manager_service.h"
namespace tpm_manager {
class Tpm2FuzzerUtilsImpl : public TpmFuzzerUtils {
public:
explicit Tpm2FuzzerUtilsImpl(FuzzedDataProvider* data_provider)
: data_provider_(data_provider) {}
void SetupTpm(TpmManagerService* tpm_manager) override;
private:
FuzzedDataProvider* const data_provider_;
std::unique_ptr<trunks::FuzzedCommandTransceiver> command_transceiver_;
};
} // namespace tpm_manager
#endif // TPM_MANAGER_SERVER_FUZZERS_TPM2_FUZZER_UTILS_IMPL_H_