xref: /openbmc/phosphor-bmc-code-mgmt/tpm/tpm_software_manager.hpp (revision c538727d70f3673771f18e559d7ecab203abf6d3)
1*c538727dSKevin Tung #pragma once
2*c538727dSKevin Tung 
3*c538727dSKevin Tung #include "common/include/software_manager.hpp"
4*c538727dSKevin Tung 
5*c538727dSKevin Tung namespace ManagerInf = phosphor::software::manager;
6*c538727dSKevin Tung 
7*c538727dSKevin Tung const std::string configTypeTPM = "TPM";
8*c538727dSKevin Tung 
9*c538727dSKevin Tung class TPMSoftwareManager : public ManagerInf::SoftwareManager
10*c538727dSKevin Tung {
11*c538727dSKevin Tung   public:
TPMSoftwareManager(sdbusplus::async::context & ctx)12*c538727dSKevin Tung     TPMSoftwareManager(sdbusplus::async::context& ctx) :
13*c538727dSKevin Tung         SoftwareManager(ctx, configTypeTPM)
14*c538727dSKevin Tung     {}
15*c538727dSKevin Tung 
16*c538727dSKevin Tung     void start();
17*c538727dSKevin Tung 
18*c538727dSKevin Tung     sdbusplus::async::task<bool> initDevice(const std::string& service,
19*c538727dSKevin Tung                                             const std::string& path,
20*c538727dSKevin Tung                                             SoftwareConfig& config) final;
21*c538727dSKevin Tung };
22