1 #ifndef DBALLE_MESSAGE_H 2 #define DBALLE_MESSAGE_H 4 #include <dballe/fwd.h> 33 virtual MessageType get_type()
const = 0;
36 virtual Datetime get_datetime()
const = 0;
39 virtual Coords get_coords()
const = 0;
42 virtual Ident get_ident()
const = 0;
45 virtual std::string get_report()
const = 0;
48 virtual std::unique_ptr<Message> clone()
const = 0;
72 const wreport::Var*
get(
const std::string& shortcut)
const;
113 void set(
const Level& lev,
const Trange& tr, std::unique_ptr<wreport::Var> var);
125 void set(
const char* shortcut, std::unique_ptr<wreport::Var> var);
136 void set(
const char* shortcut,
const wreport::Var& var);
154 virtual std::unique_ptr<CursorStation> query_stations(
const Query& query)
const = 0;
164 virtual std::unique_ptr<CursorStationData> query_station_data(
const Query& query)
const = 0;
174 virtual std::unique_ptr<CursorData> query_data(
const Query& query)
const = 0;
177 virtual void print(FILE* out)
const = 0;
188 virtual unsigned diff(
const Message& msg)
const = 0;
193 static std::unique_ptr<Message> create(MessageType type);
200 virtual void set_impl(
const Level& lev,
const Trange& tr, std::unique_ptr<wreport::Var> var) = 0;
212 const char* format_message_type(MessageType type);
216 std::ostream& operator<<(std::ostream&,
const dballe::MessageType&);
Common base types used by most of DB-All.e code.
Coordinates.
Definition: types.h:365
Information on how a value has been sampled or computed with regards to time.
Definition: types.h:683
A bulletin that has been decoded and physically interpreted.
Definition: message.h:28
Vertical level or layer.
Definition: types.h:621
A station identifier, that can be any string (including the empty string) or a missing value...
Definition: types.h:744
Query used to filter DB-All.e data.
Definition: query.h:14
Date and time.
Definition: types.h:164