| 325 | |
| 326 | |
| 327 | class KernelCacheMetadata |
| 328 | { |
| 329 | public: |
| 330 | static std::optional<KernelCacheMetadata> LoadFromView(BinaryView*); |
| 331 | static bool ViewHasMetadata(BinaryView*); |
| 332 | |
| 333 | std::string InstallNameForImageBaseAddress(uint64_t baseAddress) const; |
| 334 | |
| 335 | std::vector<KernelCacheImage> LoadedImages(); |
| 336 | |
| 337 | ~KernelCacheMetadata(); |
| 338 | KernelCacheMetadata(KernelCacheMetadata&&); |
| 339 | KernelCacheMetadata& operator=(KernelCacheMetadata&&); |
| 340 | |
| 341 | private: |
| 342 | KernelCacheMetadata(KernelCache::CacheInfo, KernelCache::ModifiedState); |
| 343 | |
| 344 | std::unique_ptr<KernelCache::CacheInfo> cacheInfo; |
| 345 | std::unique_ptr<KernelCache::ModifiedState> state; |
| 346 | |
| 347 | friend struct KernelCache::ModifiedState; |
| 348 | friend class KernelCache; |
| 349 | |
| 350 | static const std::string Tag; |
| 351 | static const std::string CacheInfoTag; |
| 352 | static const std::string ModifiedStateTagPrefix; |
| 353 | static const std::string ModifiedStateCountTag; |
| 354 | }; |
| 355 | |
| 356 | } |
| 357 | |