1#ifndef DBALLE_DB_EXPLORER_H
2#define DBALLE_DB_EXPLORER_H
4#include <dballe/core/query.h>
6#include <dballe/db/summary.h>
14template <
typename Station>
class BaseExplorer
36 BaseExplorer<Station>* explorer =
nullptr;
38 Update(BaseExplorer<Station>* explorer);
42 Update(
const Update&) =
delete;
46 Update& operator=(
const Update&) =
delete;
47 Update& operator=(Update&&);
60 template <
typename OStation>
65 bool station_data =
true,
bool data =
true);
69 const std::vector<std::shared_ptr<dballe::Message>>& messages,
70 bool station_data =
true,
bool data =
true);
74 friend class BaseExplorer<
Station>;
78 BaseExplorer(
const std::string& pathname);
79 BaseExplorer(
const BaseExplorer&) =
delete;
80 BaseExplorer(BaseExplorer&&) =
delete;
82 BaseExplorer& operator=(
const BaseExplorer&) =
delete;
83 BaseExplorer& operator=(BaseExplorer&&) =
delete;
Cursor iterating over summary entries.
Definition cursor.h:99
A bulletin that has been decoded and physically interpreted.
Definition message.h:29
Query used to filter DB-All.e data.
Definition query.h:17
JSON serializer.
Definition json.h:30
void add_messages(const std::vector< std::shared_ptr< dballe::Message > > &messages, bool station_data=true, bool data=true)
Merge the contents of a vector of messages.
void add_explorer(const BaseExplorer< OStation > &explorer)
Merge the currently selected contents of another explorer into this one.
void add_message(const dballe::Message &message, bool station_data=true, bool data=true)
Merge the contents of a message.
void add_json(core::json::Stream &in)
Load the explorer contents from JSON.
void add_db(dballe::db::Transaction &tr)
Merge summary data from a database.
void add_cursor(dballe::CursorSummary &cur)
Merge summary data from a database.
std::shared_ptr< dballe::db::BaseSummary< Station > > _active_summary
Definition explorer.h:24
void set_filter(const dballe::Query &query)
Set a new filter, updating all browsing data.
void to_json(core::JSONWriter &writer) const
Export the explorer to JSON.
Update rebuild()
Throw away all cached data and rebuild the explorer from scratch.
std::shared_ptr< dballe::db::BaseSummary< Station > > _global_summary
Definition explorer.h:18
void update_active_summary()
Regenerate _active_summary based on filter.
dballe::core::Query filter
Definition explorer.h:21
const dballe::db::BaseSummary< Station > & global_summary() const
Get a reference to the global summary.
void commit()
Commit changes to disk.
const dballe::Query & get_filter() const
Get the current filter.
Update update()
Merge new data into the explorer.
const dballe::db::BaseSummary< Station > & active_summary() const
Get a reference to the summary for the current filter.
High level objects for working with DB-All.e DB summaries.
Definition summary.h:71
Functions used to connect to DB-All.e and insert, query and delete data.
Station information.
Definition types.h:879
Standard dballe::Query implementation.
Definition core/query.h:36