#pragma once #include "certificate.hpp" #include "hashed_id8.hpp" #include #include namespace vanetza { namespace pki { /// \brief Lazy, single-pass view over stored HashedId8s. using HashedId8Range = boost::any_range; class CertificateStorage { public: virtual ~CertificateStorage() = default; virtual boost::optional fetch(const HashedId8&) const = 0; virtual void store(const Certificate&) = 0; virtual bool erase(const HashedId8&) = 0; virtual HashedId8Range list() const = 0; }; } // namespace pki } // namespace vanetza