[PVR][Estuary] Timer settings dialog: Show client name in timer type selection dialog...
[xbmc.git] / xbmc / filesystem / ResourceDirectory.cpp
blobc3623d0ce040cfd523c4b079a415426b572f0b01
1 /*
2 * Copyright (C) 2014-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #include "ResourceDirectory.h"
11 #include "FileItem.h"
12 #include "URL.h"
13 #include "filesystem/Directory.h"
14 #include "filesystem/ResourceFile.h"
15 #include "utils/URIUtils.h"
17 using namespace XFILE;
19 CResourceDirectory::CResourceDirectory() = default;
21 CResourceDirectory::~CResourceDirectory() = default;
23 bool CResourceDirectory::GetDirectory(const CURL& url, CFileItemList &items)
25 const std::string pathToUrl(url.Get());
26 std::string translatedPath;
27 if (!CResourceFile::TranslatePath(url, translatedPath))
28 return false;
30 if (CDirectory::GetDirectory(translatedPath, items, m_strFileMask, m_flags | DIR_FLAG_GET_HIDDEN))
31 { // replace our paths as necessary
32 items.SetURL(url);
33 for (int i = 0; i < items.Size(); i++)
35 CFileItemPtr item = items[i];
36 if (URIUtils::PathHasParent(item->GetPath(), translatedPath))
37 item->SetPath(URIUtils::AddFileToFolder(pathToUrl, item->GetPath().substr(translatedPath.size())));
40 return true;
43 return false;
46 std::string CResourceDirectory::TranslatePath(const CURL &url)
48 std::string translatedPath;
49 if (!CResourceFile::TranslatePath(url, translatedPath))
50 return "";
52 return translatedPath;