2 * Copyright (C) 2005-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.
9 #include "SpecialProtocolDirectory.h"
11 #include "Directory.h"
13 #include "FileItemList.h"
14 #include "SpecialProtocol.h"
16 #include "utils/URIUtils.h"
18 using namespace XFILE
;
20 CSpecialProtocolDirectory::CSpecialProtocolDirectory(void) = default;
22 CSpecialProtocolDirectory::~CSpecialProtocolDirectory(void) = default;
24 bool CSpecialProtocolDirectory::GetDirectory(const CURL
& url
, CFileItemList
&items
)
26 const std::string
pathToUrl(url
.Get());
27 std::string translatedPath
= CSpecialProtocol::TranslatePath(url
);
28 if (CDirectory::GetDirectory(translatedPath
, items
, m_strFileMask
, m_flags
| DIR_FLAG_GET_HIDDEN
))
29 { // replace our paths as necessary
31 for (int i
= 0; i
< items
.Size(); i
++)
33 CFileItemPtr item
= items
[i
];
34 if (URIUtils::PathHasParent(item
->GetPath(), translatedPath
))
35 item
->SetPath(URIUtils::AddFileToFolder(pathToUrl
, item
->GetPath().substr(translatedPath
.size())));
42 std::string
CSpecialProtocolDirectory::TranslatePath(const CURL
&url
)
44 return CSpecialProtocol::TranslatePath(url
);