#pragma once #include #include using namespace std; #ifdef DEVTREE_EXPORTS #define DEVTREE_API #define DEVTREE_C_API extern "C" #else #define DEVTREE_API #define DEVTREE_C_API extern "C" #endif typedef enum _Dev_Tree_Type { TYPE_DEVICE, TYPE_DRIVER, //TYPE_TREE,//不要树状递归,只要数组 TYPE_MAX }DEV_TREE_TYPE; class DEVTREE_API DevTreeNode { public: DevTreeNode(); ~DevTreeNode(); DEV_TREE_TYPE m_NodeType;//0:Device,1:devTree void* m_pObject;//0:Device,1:devTree }; // 此类是从 DevTree.dll 导出的 class DEVTREE_API DevTree { string *m_pName; vector *m_pDevices; public: DevTree(void); virtual ~DevTree(void); // TODO: 在此添加您的方法。 void SetName(const char *pszName); const char *GetName(); void Add(void* dev, DEV_TREE_TYPE devType);//0:Device,1:devTree size_t size(); void clear(); DevTreeNode &operator [](size_t idx); }; //DevTree* MallocDevTree(); //void FreeDevTree(DevTree* p);