1 #ifndef NFC_INTEGRATION_FUZZER_IMPL_H_ 2 #define NFC_INTEGRATION_FUZZER_IMPL_H_ 3 4 #include <fuzzer/FuzzedDataProvider.h> 5 6 #include "fuzzers/integration/nfc_integration_fuzzer.pb.h" 7 #include "hal_fakes.h" 8 #include "nfa_api.h" 9 10 class NfcIntegrationFuzzer { 11 public: 12 NfcIntegrationFuzzer(const Session* session); ~NfcIntegrationFuzzer()13 ~NfcIntegrationFuzzer() { TearDown(); } 14 15 bool Setup(); 16 void RunCommands(); 17 18 private: 19 void DoOneCommand(std::vector<std::vector<uint8_t>>& bytes_container, 20 const Command& command); 21 22 void TearDown(); 23 24 const Session* session_; 25 FuzzedDataProvider fuzzed_data_; 26 FakeHal fake_hal_; 27 std::vector<std::vector<uint8_t>> bytes_container_; 28 }; 29 30 #endif // NFC_INTEGRATION_FUZZER_IMPL_H_ 31