DevTree.h 954 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #pragma once
  2. #include <string>
  3. #include <vector>
  4. using namespace std;
  5. #ifdef DEVTREE_EXPORTS
  6. #define DEVTREE_API
  7. #define DEVTREE_C_API extern "C"
  8. #else
  9. #define DEVTREE_API
  10. #define DEVTREE_C_API extern "C"
  11. #endif
  12. typedef enum _Dev_Tree_Type {
  13. TYPE_DEVICE,
  14. TYPE_DRIVER,
  15. //TYPE_TREE,//不要树状递归,只要数组
  16. TYPE_MAX
  17. }DEV_TREE_TYPE;
  18. class DEVTREE_API DevTreeNode {
  19. public:
  20. DevTreeNode();
  21. ~DevTreeNode();
  22. DEV_TREE_TYPE m_NodeType;//0:Device,1:devTree
  23. void* m_pObject;//0:Device,1:devTree
  24. };
  25. // 此类是从 DevTree.dll 导出的
  26. class DEVTREE_API DevTree {
  27. string *m_pName;
  28. vector<DevTreeNode> *m_pDevices;
  29. public:
  30. DevTree(void);
  31. virtual ~DevTree(void);
  32. // TODO: 在此添加您的方法。
  33. void SetName(const char *pszName);
  34. const char *GetName();
  35. void Add(void* dev, DEV_TREE_TYPE devType);//0:Device,1:devTree
  36. size_t size();
  37. void clear();
  38. DevTreeNode &operator [](size_t idx);
  39. };
  40. //DevTree* MallocDevTree();
  41. //void FreeDevTree(DevTree* p);