cleanup: Removed some unneeded functions.
[xbmc:xbmc-antiquated.git] / xbmc / FileSystem / VirtualDirectory.h
1 #pragma once
2 #include "idirectory.h"
3
4 namespace DIRECTORY
5 {
6
7   /*!
8   \ingroup windows 
9   \brief Get access to shares and it's directories.
10   */
11   class CVirtualDirectory : public IDirectory
12   {
13   public:
14     CVirtualDirectory(void);
15     virtual ~CVirtualDirectory(void);
16     virtual bool GetDirectory(const CStdString& strPath, CFileItemList &items);
17     virtual bool GetDirectory(const CStdString& strPath, CFileItemList &items, bool bUseFileDirectories); 
18     void SetShares(VECSHARES& vecShares);
19     inline unsigned int GetNumberOfShares() { 
20       if (m_vecShares)
21         return m_vecShares->size(); 
22       else
23         return 0;
24       }
25     bool IsShare(const CStdString& strPath) const;
26     bool IsInShare(const CStdString& strPath) const;
27
28     inline const CShare& operator [](const int index) const
29     {
30       return m_vecShares->at(index);
31     }
32
33     inline CShare& operator[](const int index)
34     {
35       return m_vecShares->at(index);
36     }
37
38     void GetShares(VECSHARES &shares) const;
39
40     void AllowNonLocalShares(bool allow) { m_allowNonLocalShares = allow; };
41
42   protected:
43     void CacheThumbs(CFileItemList &items);
44
45     VECSHARES* m_vecShares;
46     bool       m_allowNonLocalShares;
47   };
48 };