sophiar_monitor.h 830 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef DEPTHGUIDE_SOPHIAR_MONITOR_H
  2. #define DEPTHGUIDE_SOPHIAR_MONITOR_H
  3. #include "core/yaml_utility.hpp"
  4. #include "core/local_connection.h" // sophiar
  5. #include <memory>
  6. #include <vector>
  7. class sophiar_monitor {
  8. public:
  9. struct create_config {
  10. struct item_type {
  11. std::string disp_name;
  12. std::string var_name;
  13. };
  14. using item_list_type = std::vector<item_type>;
  15. item_list_type item_list;
  16. sophiar_conn_type *sophiar_conn;
  17. };
  18. using item_list_type = create_config::item_list_type;
  19. static item_list_type item_list_from_yaml(const YAML::Node &conf);
  20. explicit sophiar_monitor(const create_config &conf);
  21. ~sophiar_monitor();
  22. void show();
  23. private:
  24. struct impl;
  25. std::unique_ptr<impl> pimpl;
  26. };
  27. #endif //DEPTHGUIDE_SOPHIAR_MONITOR_H