Reactos
at master 45 lines 894 B view raw
1#pragma once 2 3#define DISPLAY_NAME_LEN 256 4 5enum NodeType 6{ 7 RootNode, 8 ClassNode, 9 DeviceNode, 10 ResourceNode, 11 ResourceTypeNode 12}; 13 14class CNode 15{ 16protected: 17 NodeType m_NodeType; 18 PSP_CLASSIMAGELIST_DATA m_ImageListData; 19 LPWSTR m_DeviceId; 20 WCHAR m_DisplayName[DISPLAY_NAME_LEN]; 21 GUID m_ClassGuid; 22 INT m_ClassImage; 23 24public: 25 CNode( 26 _In_ NodeType Type, 27 _In_ PSP_CLASSIMAGELIST_DATA ImageListData 28 ); 29 30 CNode( 31 _In_ const CNode& Node 32 ); 33 34 virtual ~CNode(); 35 36 virtual bool SetupNode() = 0; 37 38 NodeType GetNodeType() { return m_NodeType; } 39 LPGUID GetClassGuid() { return &m_ClassGuid; } 40 LPWSTR GetDisplayName() { return m_DisplayName; } 41 INT GetClassImage() { return m_ClassImage; } 42 LPWSTR GetDeviceId() { return m_DeviceId; } 43 bool HasProperties() { return (m_DeviceId != NULL); } 44}; 45