1 #ifndef DBALLE_DB_V7_STATION_H 2 #define DBALLE_DB_V7_STATION_H 4 #include <dballe/fwd.h> 5 #include <dballe/core/fwd.h> 7 #include <dballe/db/v7/fwd.h> 8 #include <dballe/db/v7/cache.h> 12 #include <unordered_map> 13 #include <unordered_set> 28 virtual void _dump(std::function<
void(
int,
int,
const Coords& coords,
const char* ident)> out) = 0;
59 virtual void get_station_vars(
Tracer<>& trc,
int id_station, std::function<
void(std::unique_ptr<wreport::Var>)> dest) = 0;
Definition: qbuilder.h:81
virtual DBStation lookup(Tracer<> &trc, int id_station)=0
Lookup station data by ID.
Forward declarations for public dballe/sql names.
virtual void run_station_query(Tracer<> &trc, const v7::StationQueryBuilder &qb, std::function< void(const dballe::DBStation &station)>)=0
Run a station query, iterating on the resulting stations.
Coordinates.
Definition: types.h:368
Collection of DBValue objects, indexed by wreport::Varcode.
Definition: values.h:191
virtual int maybe_get_id(Tracer<> &trc, const dballe::DBStation &st)=0
Get the station ID given latitude, longitude and mobile identifier.
virtual void add_station_vars(Tracer<> &trc, int id_station, DBValues &values)=0
Add all station variables (without attributes) to values.
void dump(FILE *out)
Dump the entire contents of the table to an output stream.
virtual int insert_new(Tracer<> &trc, const dballe::DBStation &desc)=0
Insert a new station in the database, without checking if it already exists.
Definition: transaction.h:15
Smart pointer for trace::Step objects, which calls done() when going out of scope.
Definition: db/v7/fwd.h:45
virtual void get_station_vars(Tracer<> &trc, int id_station, std::function< void(std::unique_ptr< wreport::Var >)> dest)=0
Export station variables.