* Copyright 2025, Andrew Lindesay <apl@lindesay.co.nz>.
* All rights reserved. Distributed under the terms of the MIT License.
*/
#ifndef PACKAGE_ICON_DEFAULT_REPOSITORY_H
#define PACKAGE_ICON_DEFAULT_REPOSITORY_H
#include <HashMap.h>
#include <HashString.h>
#include "LRUCache.h"
#include "PackageIconRepository.h"
class PackageIconDefaultRepository : public PackageIconRepository {
public:
PackageIconDefaultRepository();
virtual ~PackageIconDefaultRepository();
virtual status_t GetIcon(const BString& pkgName, uint32 size,
BitmapHolderRef& bitmapHolderRef);
private:
void _InitDefaultVectorIcon();
private:
uint8* fVectorData;
size_t fVectorDataSize;
LRUCache<HashString, BitmapHolderRef>
fCache;
};
#endif