#pragma once

#include <psemek/journal/event.hpp>
#include <psemek/util/pimpl.hpp>

namespace psemek::journal
{

	struct journal
	{
		journal();
		~journal();

		bool enabled() const;
		void set_enabled(bool enabled);

		void log_event(event const & event);

		std::vector<std::pair<event_metadata const *, event_data const *>> select();

	private:
		psemek_declare_pimpl
	};

}
