Program Listing for File system_info.hpp¶
↰ Return to documentation for file (foxglove/include/foxglove/system_info.hpp)
#pragma once
#include <foxglove-c/foxglove-c.h>
#include <foxglove/context.hpp>
#include <foxglove/error.hpp>
#include <foxglove/expected.hpp>
#include <chrono>
#include <memory>
#include <optional>
#include <string>
namespace foxglove {
struct SystemInfoOptions final {
Context context;
std::optional<std::string> topic;
std::optional<std::chrono::milliseconds> refresh_interval;
};
class SystemInfoPublisher final {
public:
static FoxgloveResult<SystemInfoPublisher> create(SystemInfoOptions&& options = {});
FoxgloveError stop() noexcept;
private:
explicit SystemInfoPublisher(foxglove_system_info_publisher* impl);
std::unique_ptr<
foxglove_system_info_publisher, foxglove_error (*)(foxglove_system_info_publisher*)>
impl_;
};
} // namespace foxglove