4 #include "crypto/keymanager.h" 5 #include "http/httpinterface.h" 6 #include "libaktualizr/config.h" 7 #include "primary/secondaryinterface.h" 8 #include "storage/invstorage.h" 9 #include "uptane/tuf.h" 11 const int MaxInitializationAttempts = 3;
16 std::shared_ptr<HttpInterface> http_client_in,
KeyManager& keys_in,
17 const std::map<
Uptane::EcuSerial, std::shared_ptr<SecondaryInterface> >& secondaries_in);
19 class Error :
public std::runtime_error {
21 Error(
const std::string& what) : std::runtime_error(std::string(
"Initializer error: ") + what) {}
25 KeyGenerationError(
const std::string& what) :
Error(std::string(
"Could not generate Uptane key pair: ") + what) {}
29 StorageError(
const std::string& what) :
Error(std::string(
"Storage error: ") + what) {}
33 ServerError(
const std::string& what) :
Error(std::string(
"Server error: ") + what) {}
43 void initEcuSerials();
44 void initPrimaryEcuKeys();
47 void initSecondaryInfo();
48 void initEcuRegister();
49 bool loadSetTlsCreds();
50 void initEcuReportCounter();
53 std::shared_ptr<INvStorage> storage_;
54 std::shared_ptr<HttpInterface> http_client_;
56 const std::map<Uptane::EcuSerial, SecondaryInterface::Ptr>& secondaries_;
57 std::vector<SecondaryInfo> sec_info_;
58 EcuSerials new_ecu_serials_;
59 bool register_ecus_{
false};
64 explicit EcuCompare(std::pair<Uptane::EcuSerial, Uptane::HardwareIdentifier> ecu_in)
65 : serial(std::move(ecu_in.first)), hardware_id(std::move(ecu_in.second)) {}
66 bool operator()(
const std::pair<Uptane::EcuSerial, Uptane::HardwareIdentifier>& in)
const {
67 return (in.first == serial && in.second == hardware_id);
75 #endif // INITIALIZER_H_