blob: 9062b9e2d6468bf8cc521f0e34c091ac8cef11fb [file] [log] [blame]
Yi Chouf964bab2020-12-10 11:50:28 +08001// Copyright 2021 The Chromium OS Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef TPM2_SIMULATOR_TPM_EXECUTOR_H_
6#define TPM2_SIMULATOR_TPM_EXECUTOR_H_
7
8#include <string>
9
10namespace tpm2_simulator {
11
12class TpmExecutor {
13 public:
14 TpmExecutor() = default;
15 TpmExecutor(const TpmExecutor&) = delete;
16 TpmExecutor& operator=(const TpmExecutor&) = delete;
17 virtual ~TpmExecutor() = default;
18
19 virtual void InitializeVTPM() = 0;
20 virtual size_t GetCommandSize(const std::string& command) = 0;
21 virtual std::string RunCommand(const std::string& command) = 0;
22};
23
24} // namespace tpm2_simulator
25
26#endif // TPM2_SIMULATOR_TPM_EXECUTOR_H_