diff options
Diffstat (limited to 'CPP/7zip/UI/FileManager/NetFolder.h')
-rwxr-xr-x | CPP/7zip/UI/FileManager/NetFolder.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/CPP/7zip/UI/FileManager/NetFolder.h b/CPP/7zip/UI/FileManager/NetFolder.h new file mode 100755 index 00000000..0214cfdb --- /dev/null +++ b/CPP/7zip/UI/FileManager/NetFolder.h @@ -0,0 +1,49 @@ +// NetFolder.h + +#ifndef __NETFOLDER_H +#define __NETFOLDER_H + +#include "Common/MyString.h" +#include "Common/Buffer.h" +#include "Common/MyCom.h" +#include "Windows/PropVariant.h" +#include "Windows/Net.h" + +#include "IFolder.h" + +struct CResourceEx: public NWindows::NNet::CResourceW +{ + UString Name; +}; + +class CNetFolder: + public IFolderFolder, + public IFolderGetSystemIconIndex, + public CMyUnknownImp +{ +public: + MY_UNKNOWN_IMP1( + IFolderGetSystemIconIndex + ) + + INTERFACE_FolderFolder(;) + + STDMETHOD(GetSystemIconIndex)(UInt32 index, INT32 *iconIndex); + +private: + NWindows::NNet::CResourceW _netResource; + NWindows::NNet::CResourceW *_netResourcePointer; + + CObjectVector<CResourceEx> _items; + + CMyComPtr<IFolderFolder> _parentFolder; + UString _path; + +public: + void Init(const UString &path); + void Init(const NWindows::NNet::CResourceW *netResource, + IFolderFolder *parentFolder, const UString &path); + CNetFolder(): _netResourcePointer(0) {} +}; + +#endif |