📄 libraryfolders.h
字号:
//
// LibraryFolders.h
//
// Copyright (c) Shareaza Development Team, 2002-2004.
// This file is part of SHAREAZA (www.shareaza.com)
//
// Shareaza is free software; you can redistribute it
// and/or modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// Shareaza is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Shareaza; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
#pragma once
class CLibraryFolder;
class CAlbumFolder;
class CLibraryFile;
class CXMLElement;
class CCollectionFile;
class CLibraryFolders : public CComObject
{
// Construction
public:
CLibraryFolders();
virtual ~CLibraryFolders();
DECLARE_DYNAMIC(CLibraryFolders)
// Attributes
protected:
CObList m_pFolders;
CAlbumFolder* m_pAlbumRoot;
BOOL m_bRemoveMask;
// Physical Folder Operations
public:
POSITION GetFolderIterator() const;
CLibraryFolder* GetNextFolder(POSITION& pos) const;
int GetFolderCount() const;
CLibraryFolder* GetFolder(LPCTSTR pszPath) const;
BOOL CheckFolder(CLibraryFolder* pFolder, BOOL bRecursive = FALSE) const;
public:
CLibraryFolder* AddFolder(LPCTSTR pszPath);
BOOL RemoveFolder(CLibraryFolder* pFolder);
CLibraryFolder* IsFolderShared(LPCTSTR pszPath);
// Virtual Album Operations
public:
CAlbumFolder* GetAlbumRoot();
BOOL CheckAlbum(CAlbumFolder* pFolder) const;
CAlbumFolder* GetAlbumTarget(LPCTSTR pszSchemaURI, LPCTSTR pszMember, LPCTSTR pszValue) const;
CAlbumFolder* GetCollection(SHA1* pSHA1);
BOOL MountCollection(SHA1* pSHA1, CCollectionFile* pCollection);
protected:
void CreateAlbumTree();
void OnFileDelete(CLibraryFile* pFile);
// Core
protected:
void Clear();
BOOL ThreadScan(BOOL* pbContinue, BOOL bForce = FALSE);
void Serialize(CArchive& ar, int nVersion);
// COM
protected:
BEGIN_INTERFACE_PART(LibraryFolders, ILibraryFolders)
DECLARE_DISPATCH()
STDMETHOD(get_Application)(IApplication FAR* FAR* ppApplication);
STDMETHOD(get_Library)(ILibrary FAR* FAR* ppLibrary);
STDMETHOD(get__NewEnum)(IUnknown FAR* FAR* ppEnum);
STDMETHOD(get_Item)(VARIANT vIndex, ILibraryFolder FAR* FAR* ppFolder);
STDMETHOD(get_Count)(LONG FAR* pnCount);
END_INTERFACE_PART(LibraryFolders)
DECLARE_INTERFACE_MAP()
friend class CLibrary;
};
extern CLibraryFolders LibraryFolders;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -