libwreport  2.8
Public Member Functions | Static Public Member Functions | Data Fields
wreport::CrexBulletin Struct Reference

CREX bulletin implementation. More...

#include <bulletin.h>

Inheritance diagram for wreport::CrexBulletin:
wreport::Bulletin

Public Member Functions

void clear ()
 Reset the bulletin.
 
virtual const char * encoding_name () const throw ()
 Type of source/target encoding.
 
virtual void load_tables ()
 Load a new set of tables to use for encoding this message.
 
virtual void decode_header (const std::string &raw, const char *fname="(memory)", size_t offset=0)
 Parse only the header of an encoded message. More...
 
virtual void decode (const std::string &raw, const char *fname="(memory)", size_t offset=0)
 Parse an encoded message. More...
 
virtual void encode (std::string &buf) const
 Encode the message.
 
virtual void print_details (FILE *out) const
 Print format-specific details.
 
virtual unsigned diff_details (const Bulletin &msg) const
 Diff format-specific details.
 
- Public Member Functions inherited from wreport::Bulletin
Subsetobtain_subset (unsigned subsection)
 Get a Subset from the message. More...
 
const Subsetsubset (unsigned subsection) const
 Get a Subset from the message. More...
 
void visit_datadesc (opcode::Visitor &e) const
 Walk the structure of the data descriptor section sending events to an opcode::Explorer.
 
void visit (bulletin::Visitor &out) const
 Run the Data Descriptor Section interpreter, sending commands to executor.
 
void print (FILE *out) const
 Dump the contents of this bulletin.
 
void print_structured (FILE *out) const
 Dump the contents of this bulletin, in a more structured way.
 
void print_datadesc (FILE *out, unsigned indent=0) const
 Pretty-print the data descriptor section. More...
 
virtual unsigned diff (const Bulletin &msg) const
 Compute the differences between two bulletins. More...
 

Static Public Member Functions

static bool read (FILE *in, std::string &buf, const char *fname=0, long *offset=0)
 Read an encoded BUFR message from a stream. More...
 
static void write (const std::string &buf, FILE *out, const char *fname=0)
 Write an encoded BUFR message to a stream. More...
 
static std::auto_ptr
< CrexBulletin
create ()
 To prevent breaking ABI if new members are added to bulletins, direct construction is discouraged in favour of an allocator function.
 

Data Fields

int table
 CREX-specific encoding options. More...
 
bool has_check_digit
 True if the CREX message uses the check digit feature.
 
- Data Fields inherited from wreport::Bulletin
const char * fname
 Input file name (optional). More...
 
size_t offset
 File offset of the start of the message. More...
 
int type
 Message category.
 
int subtype
 International message subcategory.
 
int localsubtype
 Local message subcategory.
 
int edition
 Edition number.
 
int master_table_number
 Master table number.
 
const Vartablebtable
 vartable used to lookup B table codes
 
const DTabledtable
 dtable used to lookup D table codes
 
std::vector< Varcodedatadesc
 Parsed data descriptor section.
 
std::vector< Subsetsubsets
 Decoded variables.
 
int rep_year
 Representative datetime for this data. More...
 
int rep_month
 Month.
 
int rep_day
 Day.
 
int rep_hour
 Hour.
 
int rep_minute
 Minute.
 
int rep_second
 Second.
 

Detailed Description

CREX bulletin implementation.

Member Function Documentation

virtual void wreport::CrexBulletin::decode ( const std::string &  buf,
const char *  fname = "(memory)",
size_t  offset = 0 
)
virtual

Parse an encoded message.

Parameters
bufThe buffer to decode
fnameThe file name to use for error messages
offsetThe offset inside the file of the start of the bulletin, used for error messages

Implements wreport::Bulletin.

virtual void wreport::CrexBulletin::decode_header ( const std::string &  buf,
const char *  fname = "(memory)",
size_t  offset = 0 
)
virtual

Parse only the header of an encoded message.

Parameters
bufThe buffer to decode
fnameThe file name to use for error messages
offsetThe offset inside the file of the start of the bulletin, used for error messages

Implements wreport::Bulletin.

static bool wreport::CrexBulletin::read ( FILE *  in,
std::string &  buf,
const char *  fname = 0,
long *  offset = 0 
)
static

Read an encoded BUFR message from a stream.

Parameters
inThe stream to read from
bufThe buffer where the data will be written
fnameFile name to use in error messages
Return values
offsetThe offset in the file of the beginning of the BUFR data
Returns
true if a message was found, false on EOF
static void wreport::CrexBulletin::write ( const std::string &  buf,
FILE *  out,
const char *  fname = 0 
)
static

Write an encoded BUFR message to a stream.

Parameters
bufThe buffer with the data to write
outThe stream to write to
fnameFile name to use in error messages

Field Documentation

int wreport::CrexBulletin::table

CREX-specific encoding options.

Table version number


The documentation for this struct was generated from the following file: