⛏️ index : haiku.git

/*
 * 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 // PACKAGE_ICON_DEFAULT_REPOSITORY_H