xbmc
Directory.h
1 /*
2  * Copyright (C) 2005-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "IDirectory.h"
12 
13 #include <memory>
14 #include <string>
15 
16 namespace XFILE
17 {
23 {
24 public:
25  CDirectory(void);
26  virtual ~CDirectory(void);
27 
28  class CHints
29  {
30  public:
31  std::string mask;
32  int flags = DIR_FLAG_DEFAULTS;
33  };
34 
35  static bool GetDirectory(const CURL& url
36  , CFileItemList &items
37  , const std::string &strMask
38  , int flags);
39 
40  static bool GetDirectory(const CURL& url,
41  const std::shared_ptr<IDirectory>& pDirectory,
42  CFileItemList& items,
43  const CHints& hints);
44 
45  static bool GetDirectory(const CURL& url
46  , CFileItemList &items
47  , const CHints &hints);
48 
49  static bool Create(const CURL& url);
50  static bool Exists(const CURL& url, bool bUseCache = true);
51  static bool Remove(const CURL& url);
52  static bool RemoveRecursive(const CURL& url);
53 
54  static bool GetDirectory(const std::string& strPath
55  , CFileItemList &items
56  , const std::string &strMask
57  , int flags);
58 
59  static bool GetDirectory(const std::string& strPath,
60  const std::shared_ptr<IDirectory>& pDirectory,
61  CFileItemList& items,
62  const std::string& strMask,
63  int flags);
64 
65  static bool GetDirectory(const std::string& strPath
66  , CFileItemList &items
67  , const CHints &hints);
68 
69  static bool Create(const std::string& strPath);
70  static bool Exists(const std::string& strPath, bool bUseCache = true);
71  static bool Remove(const std::string& strPath);
72  static bool RemoveRecursive(const std::string& strPath);
73 
79  static void FilterFileDirectories(CFileItemList &items, const std::string &mask,
80  bool expandImages=false);
81 };
82 }
Definition: Scraper.h:41
static void FilterFileDirectories(CFileItemList &items, const std::string &mask, bool expandImages=false)
Filter files that act like directories from the list, replacing them with their directory counterpart...
Definition: Directory.cpp:426
Represents a list of files.
Definition: FileItem.h:721
Definition: URL.h:21
Wrappers for IDirectory.
Definition: Directory.h:22
Definition: Directory.h:28