libdballe  8.6
conversion.h
1 #ifndef DBALLE_CMDLINE_CONVERSION_H
2 #define DBALLE_CMDLINE_CONVERSION_H
3 
4 #include <dballe/cmdline/processor.h>
5 
6 namespace wreport {
7 struct Bulletin;
8 }
9 
10 namespace dballe {
11 struct File;
12 
13 namespace cmdline {
14 
15 struct Converter : public Action
16 {
17  File* file;
18  const char* dest_rep_memo;
19  const char* dest_template;
20  bool bufr2netcdf_categories;
21 
22  Exporter* exporter;
23 
24  Converter() : file(0), dest_rep_memo(0), dest_template(0), bufr2netcdf_categories(false), exporter(0) {}
25  ~Converter();
26 
31  virtual bool operator()(const cmdline::Item& item);
32 
33 protected:
42  void process_bufrex_msg(const BinaryMessage& orig, const wreport::Bulletin& msg);
43 
48  void process_dba_msg(const BinaryMessage& orig, const std::vector<std::shared_ptr<dballe::Message>>& msgs);
49 
54  void process_dba_msg_from_bulletin(const BinaryMessage& orig, const wreport::Bulletin& bulletin, const std::vector<std::shared_ptr<dballe::Message>>& msgs);
55 };
56 
57 }
58 }
59 
60 #endif
dballe::File
File object for doing I/O on binary message streams.
Definition: file.h:17
dballe::cmdline::Item
Definition: processor.h:98
dballe::cmdline::Converter::process_dba_msg_from_bulletin
void process_dba_msg_from_bulletin(const BinaryMessage &orig, const wreport::Bulletin &bulletin, const std::vector< std::shared_ptr< dballe::Message >> &msgs)
Perform conversion of decded data, using the original bulletin for type/subtype/localsubtype informat...
dballe::cmdline::Converter::operator()
virtual bool operator()(const cmdline::Item &item)
Convert the item as configured in the Converter, and write it to the output file.
wreport::Bulletin
dballe::Exporter
Message exporter interface.
Definition: exporter.h:66
dballe::BinaryMessage
Binary message.
Definition: file.h:130
dballe::cmdline::Converter
Definition: conversion.h:15
dballe::cmdline::Converter::process_dba_msg
void process_dba_msg(const BinaryMessage &orig, const std::vector< std::shared_ptr< dballe::Message >> &msgs)
Perform conversion of decoded data, auto-inferring type/subtype/localsubtype from the Messages conten...
dballe::cmdline::Action
Definition: processor.h:118
dballe::cmdline::Converter::process_bufrex_msg
void process_bufrex_msg(const BinaryMessage &orig, const wreport::Bulletin &msg)
Perform conversion at the encoding level only (e.g.