Define.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #pragma once
  2. #include <string>
  3. #include <list>
  4. #include <set>
  5. #include <unordered_map>
  6. enum ModuleType
  7. {
  8. Sensor=1,
  9. Actor=2,
  10. Purifier=3,
  11. Calculator=4,
  12. Storage=5,
  13. Transfer=6,
  14. };
  15. struct DataItem
  16. {
  17. int Id;
  18. std::string DataName;
  19. std::string Code;
  20. std::string DataType;
  21. bool Displayed;
  22. std::string Description;
  23. std::string ToString()
  24. {
  25. return Code + DataName;
  26. }
  27. };
  28. struct ModuleInfo
  29. {
  30. // int Id;
  31. // ModuleType Type; // 类型
  32. std::string Name; // 名称
  33. // std::string Code; // 标识码
  34. // std::string Model; // 型号
  35. std::string AssemblyName; // 组件程序(dll、jar)名字,含路径
  36. // std::string ClassName; // 组件的 类名
  37. // std::string Description; // 描述
  38. // std::string Version; // 版本
  39. std::set<std::string> Topics;
  40. };
  41. struct DeviceInfo
  42. {
  43. int Id;
  44. std::string Name; // 名称
  45. std::string Type; // 类型
  46. std::string Code; // 标识码
  47. std::string Model; // 型号,通信组件的Code属性
  48. int ServerId; //
  49. ModuleInfo ModuleInfo; //
  50. std::string Description; // 描述
  51. std::list<DataItem> Properties;
  52. };
  53. struct ConsumerInfo{
  54. std::string Name;
  55. std::string AssemblyName; // 组件程序(dll、jar)名字,含路径
  56. // std::string ClassName; // 组件的 类名
  57. std::string SubscribeName;
  58. std::string Settings;
  59. std::list<std::string>dataItems;
  60. std::unordered_multimap<std::string, std::string>topicsMap;
  61. };
  62. struct DataManagerInfo{
  63. int Id;
  64. std::string Name; // 名称
  65. std::string Type; // 类型
  66. std::string Code; // 标识码
  67. std::string Model; // 型号,通信组件的Code属性
  68. int ServerId; //
  69. std::string Description; // 描述
  70. std::list<ModuleInfo> modules;
  71. std::list<ConsumerInfo>consumers;
  72. };
  73. /*struct Config
  74. {
  75. int serverId;
  76. std::string appName;
  77. };*/