Program Listing for File log_store.h

Return to documentation for file (/tmp/ws/src/log_view/include/log_view/log_store.h)

#ifndef LOG_VIEW_LOG_STORE_H_
#define LOG_VIEW_LOG_STORE_H_

#include <deque>
#include <mutex>

#include <log_view/datatypes.h>
#include <rcl_interfaces/msg/log.hpp>

namespace log_view {

class LogStore {
public:
  LogStore() = default;

  const std::deque<LogEntry>& logs();
  size_t size() const;

  void addEntry(const rcl_interfaces::msg::Log::SharedPtr msg);

private:
  std::deque<LogEntry> logs_;
  std::deque<LogEntry> new_logs_;

  std::mutex mutex_;

};
typedef std::shared_ptr<LogStore> LogStorePtr;

}  // namespace log_view

#endif  // LOG_VIEW_LOG_STORE_H_