libdballe  7.21
v6/station.h
1 #ifndef DBALLE_DB_V6_STATION_H
2 #define DBALLE_DB_V6_STATION_H
3 
4 #include <dballe/sql/fwd.h>
5 #include <memory>
6 #include <cstdio>
7 
8 namespace wreport {
9 struct Var;
10 }
11 
12 namespace dballe {
13 struct Record;
14 
15 namespace db {
16 namespace v6 {
17 
18 struct Station
19 {
20 public:
22  //static std::unique_ptr<Station> create(Connection& conn);
23 
24  virtual ~Station();
25 
34  virtual int get_id(int lat, int lon, const char* ident=NULL) = 0;
35 
44  virtual int obtain_id(int lat, int lon, const char* ident=NULL, bool* inserted=NULL) = 0;
45 
49  virtual void dump(FILE* out) = 0;
50 
54  virtual void get_station_vars(int id_station, int id_report, std::function<void(std::unique_ptr<wreport::Var>)> dest) = 0;
55 
62  virtual void add_station_vars(int id_station, Record& rec) = 0;
63 };
64 
65 }
66 }
67 }
68 #endif
69 
Key/value store where keys are strings and values are wreport variables.
Definition: record.h:16
Forward declarations for public dballe/sql names.
Copyright (C) 2008–2010 ARPA-SIM urpsim@smr.arpa.emr.it
Definition: cmdline.h:17
Definition: v6/station.h:18