libwreport  3.29
Public Member Functions
wreport::bulletin::DDSValidator Class Reference

Interpreter that checks if the data that has been added to the bulletin subsets can actualy be encoded matching the bulletin Data Descriptor Section. More...

#include <dds-validator.h>

Inheritance diagram for wreport::bulletin::DDSValidator:
wreport::bulletin::UncompressedEncoder wreport::bulletin::Interpreter

Public Member Functions

 DDSValidator (const Bulletin &b, unsigned subset_idx)
 Create a new DDS validator. More...
 
void define_substituted_value (unsigned pos) override
 Request processing of a substituted value corresponding to position pos in the list or previous variables.
 
void define_attribute (Varinfo info, unsigned pos) override
 Request processing of an attribute encoded with info, related to the variable as position pos in the list of previous variables.
 
void define_raw_character_data (Varcode code) override
 Request processing of C05yyy raw character data.
 
void define_c03_refval_override (Varcode code) override
 Request processing of a new value for the reference value of the given B code.
 
void encode_var (Varinfo info, const Var &var) override
 Encode a variable. More...
 
- Public Member Functions inherited from wreport::bulletin::UncompressedEncoder
 UncompressedEncoder (const Bulletin &bulletin, unsigned subset_no)
 
const Varpeek_var ()
 Get the next variable, without incrementing current_var.
 
const Varget_var ()
 Get the next variable, incrementing current_var by 1.
 
const Varget_var (unsigned pos) const
 Get the variable at the given position.
 
void define_bitmap (unsigned bitmap_size) override
 Request processing of a data present bitmap. More...
 
void define_variable (Varinfo info) override
 Request processing, according to info, of a data variable.
 
void define_variable_with_associated_field (Varinfo info) override
 Request processing, according to info, of a data variable.
 
unsigned define_delayed_replication_factor (Varinfo info) override
 Request processing, according to info, of a data variabile that is significant for controlling the encoding process. More...
 
unsigned define_associated_field_significance (Varinfo info) override
 Request processing of an associated field significance variable (B31021). More...
 
unsigned define_bitmap_delayed_replication_factor (Varinfo info) override
 Request processing of a delayed replication factor variable used to encode the size of a bitmap. More...
 
virtual void encode_associated_field (const Var &var)
 Encode an attribute for an associated field. More...
 
- Public Member Functions inherited from wreport::bulletin::Interpreter
 Interpreter (const Tables &tables, const Opcodes &opcodes)
 
 Interpreter (const Interpreter &)=delete
 
Interpreteroperator= (const Interpreter &)=delete
 
void run ()
 Run the interpreter.
 
virtual void b_variable (Varcode code)
 Notify of a B variable entry. More...
 
virtual void c_modifier (Varcode code, Opcodes &next)
 Notify of a C modifier. More...
 
virtual void r_replication (Varcode code, Varcode delayed_code, const Opcodes &ops)
 Handle a replicated section. More...
 
virtual void r_bitmap (Varcode code, Varcode delayed_code, const Opcodes &ops)
 Handle a replicated section which defines a bitmap.
 
virtual void run_r_repetition (unsigned cur, unsigned total)
 Executes a repetition of the opcodes on top of the stack. More...
 
virtual void run_d_expansion (Varcode code)
 Executes the expansion of code, which has been put on top of the opcode stack. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from wreport::bulletin::Interpreter
static void print_c_modifier (FILE *out, Varcode code, Opcodes &nex)
 Print a description of this C modifier.
 
- Data Fields inherited from wreport::bulletin::UncompressedEncoder
const Subsetcurrent_subset
 Current subset (used to refer to past variables)
 
unsigned current_var = 0
 Index of the next variable to be visited.
 
- Data Fields inherited from wreport::bulletin::Interpreter
const Tablestables
 
std::stack< Opcodesopcode_stack
 
Bitmaps bitmaps
 Bitmap iteration.
 
AssociatedField associated_field
 Current associated field state.
 
int c_scale_change = 0
 Current value of scale change from C modifier.
 
int c_width_change = 0
 Current value of width change from C modifier.
 
int c_scale_ref_width_increase = 0
 Increase of scale, reference value and data width.
 
int c_string_len_override = 0
 Current value of string length override from C08 modifiers (0 for no override)
 
std::map< wreport::Varcode, uint32_t > c03_refval_overrides
 Current reference value overrides.
 
unsigned c03_refval_override_bits = 0
 Set to the number of reference value override bits while reading the override values.
 
- Protected Member Functions inherited from wreport::bulletin::Interpreter
Varinfo get_varinfo (Varcode code)
 Return a Varinfo for the given Varcode, applying all relevant C modifications that are currently active.
 

Detailed Description

Interpreter that checks if the data that has been added to the bulletin subsets can actualy be encoded matching the bulletin Data Descriptor Section.

Constructor & Destructor Documentation

◆ DDSValidator()

wreport::bulletin::DDSValidator::DDSValidator ( const Bulletin b,
unsigned  subset_idx 
)

Create a new DDS validator.

Parameters
bReference to the bulletin being visited

Member Function Documentation

◆ encode_var()

void wreport::bulletin::DDSValidator::encode_var ( Varinfo  info,
const Var var 
)
overridevirtual

Encode a variable.

By default, this raises error_unimplemented. For decoders that encode normal variables, delayed replication factors, bitmap delayed replication factors, and associated field significances in the same way, can just override this method and use the default define_* implementations.

Reimplemented from wreport::bulletin::UncompressedEncoder.


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