[DEVMGR]
[reactos.git] / reactos / dll / win32 / devmgr / devmgmt / Node.h
1 #pragma once
2
3 #define DISPLAY_NAME_LEN 256
4
5 class CNode
6 {
7 protected:
8 PSP_CLASSIMAGELIST_DATA m_ImageListData;
9 LPWSTR m_DeviceId;
10 WCHAR m_DisplayName[DISPLAY_NAME_LEN];
11 GUID m_ClassGuid;
12 INT m_ClassImage;
13
14 public:
15 CNode(
16 _In_ PSP_CLASSIMAGELIST_DATA ImageListData
17 );
18
19 ~CNode();
20
21 virtual bool SetupNode() = 0;
22
23 LPGUID GetClassGuid() { return &m_ClassGuid; }
24 LPWSTR GetDisplayName() { return m_DisplayName; }
25 INT GetClassImage() { return m_ClassImage; }
26 LPWSTR GetDeviceId() { return m_DeviceId; }
27
28 bool HasProperties() { return (m_DeviceId != NULL); }
29
30 private:
31 void Cleanup();
32
33 };
34