Add new shared pointer and make use of it

This commit is contained in:
Gericom
2026-03-28 12:03:06 +01:00
parent bec797ffe7
commit 21a8790ebc
66 changed files with 1098 additions and 523 deletions

View File

@@ -15,6 +15,34 @@ FileInfoManager::~FileInfoManager()
}
}
void FileInfoManager::LoadFileInfo(int index)
{
auto internalFileInfo = _extraFileInfo[index].internalFileInfo;
if (!internalFileInfo)
{
internalFileInfo = _items[index]->CreateInternalFileInfo();
}
if (!_extraFileInfo[index].fileCover.Lock())
{
_extraFileInfo[index].fileCover = SharedPtr(_coverRepository.GetCoverForFile(*_items[index], internalFileInfo));
}
_extraFileInfo[index].internalFileInfo = internalFileInfo;
}
void FileInfoManager::ReleaseFileInfo(int index)
{
auto internalFileInfo = _extraFileInfo[index].internalFileInfo;
if (internalFileInfo)
{
_extraFileInfo[index].internalFileInfo = nullptr;
delete internalFileInfo;
}
_extraFileInfo[index].fileCover.Reset();
}
int FileInfoManager::GetItemIndex(const char* fileName)
{
if (fileName == nullptr)
@@ -23,10 +51,10 @@ int FileInfoManager::GetItemIndex(const char* fileName)
}
for (u32 i = 0; i < _itemCount; i++)
{
if (strcmp(fileName, _items[i]->GetFileName()) == 0)
{
return i;
}
if (strcmp(fileName, _items[i]->GetFileName()) == 0)
{
return i;
}
}
return -1;
}