2024-04-24 10:44:30 +00:00
|
|
|
/*
|
|
|
|
* PROJECT: shell32
|
|
|
|
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
|
|
|
|
* PURPOSE: Shell change notification
|
|
|
|
* COPYRIGHT: Copyright 2024 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
|
|
|
|
*/
|
|
|
|
|
2020-08-10 04:34:48 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <atlsimpcoll.h> // for CSimpleArray
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2024-04-24 10:44:30 +00:00
|
|
|
class CFSNode;
|
2020-08-10 04:34:48 +00:00
|
|
|
|
|
|
|
// the directory list
|
|
|
|
class CDirectoryList
|
|
|
|
{
|
|
|
|
public:
|
2024-04-24 10:44:30 +00:00
|
|
|
CDirectoryList(CFSNode *pRoot);
|
|
|
|
CDirectoryList(CFSNode *pRoot, LPCWSTR pszDirectoryPath, BOOL fRecursive);
|
|
|
|
~CDirectoryList();
|
2020-08-10 04:34:48 +00:00
|
|
|
|
|
|
|
BOOL ContainsPath(LPCWSTR pszPath) const;
|
|
|
|
BOOL AddPath(LPCWSTR pszPath);
|
|
|
|
BOOL AddPathsFromDirectory(LPCWSTR pszDirectoryPath);
|
|
|
|
BOOL RenamePath(LPCWSTR pszPath1, LPCWSTR pszPath2);
|
|
|
|
BOOL DeletePath(LPCWSTR pszPath);
|
2024-04-24 10:44:30 +00:00
|
|
|
void RemoveAll();
|
2020-08-10 04:34:48 +00:00
|
|
|
|
|
|
|
protected:
|
2024-04-24 10:44:30 +00:00
|
|
|
CFSNode *m_pRoot;
|
2020-08-10 04:34:48 +00:00
|
|
|
BOOL m_fRecursive;
|
|
|
|
};
|