DevTree.cpp 876 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. // DevTree.cpp : 定义 DLL 应用程序的导出函数。
  2. //
  3. //#include "stdafx.h"
  4. #include "DevTree.h"
  5. DevTreeNode::DevTreeNode()
  6. {
  7. m_NodeType = TYPE_DEVICE;
  8. m_pObject = 0;
  9. };
  10. DevTreeNode::~DevTreeNode()
  11. {
  12. //do nothing
  13. };
  14. DevTree::DevTree()
  15. {
  16. m_pName = new string();
  17. m_pDevices = new vector<DevTreeNode>();
  18. return;
  19. }
  20. DevTree::~DevTree()
  21. {
  22. delete m_pName;
  23. delete m_pDevices;
  24. }
  25. void DevTree::SetName(const char *pszName)
  26. {
  27. (*m_pName) = pszName;
  28. }
  29. const char *DevTree::GetName()
  30. {
  31. return m_pName->c_str();
  32. }
  33. //0:Device,1:devTree
  34. void DevTree::Add(void* dev, DEV_TREE_TYPE devType)
  35. {
  36. DevTreeNode node;
  37. node.m_NodeType = devType;
  38. node.m_pObject = dev;
  39. m_pDevices->push_back(node);
  40. }
  41. void DevTree::clear()
  42. {
  43. m_pDevices->clear();
  44. }
  45. size_t DevTree::size()
  46. {
  47. return m_pDevices->size();
  48. }
  49. DevTreeNode &DevTree::operator [](size_t idx)
  50. {
  51. return (*m_pDevices)[idx];
  52. }