libdballe  7.19
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
dballe::fortran::CommonAPIImplementation Class Reference

Common implementation of the set* and enq* machinery using input and output records. More...

#include <commonapi.h>

Inheritance diagram for dballe::fortran::CommonAPIImplementation:
dballe::fortran::API dballe::fortran::DbAPI dballe::fortran::MsgAPI

Public Types

enum  AttrState { ATTR_DAMMELO = 1, ATTR_PRENDILO = 2, ATTR_REFERENCE = 3 }
 

Public Member Functions

void test_input_to_output () override
 
int enqi (const char *param) override
 
signed char enqb (const char *param) override
 
float enqr (const char *param) override
 
double enqd (const char *param) override
 
const char * enqc (const char *param) override
 
void seti (const char *param, int value) override
 
void setb (const char *param, signed char value) override
 
void setr (const char *param, float value) override
 
void setd (const char *param, double value) override
 
void setc (const char *param, const char *value) override
 
void setcontextana () override
 
void enqlevel (int &ltype1, int &l1, int &ltype2, int &l2) override
 
void setlevel (int ltype1, int l1, int ltype2, int l2) override
 
void enqtimerange (int &ptype, int &p1, int &p2) override
 
void settimerange (int ptype, int p1, int p2) override
 
void enqdate (int &year, int &month, int &day, int &hour, int &min, int &sec) override
 
void setdate (int year, int month, int day, int hour, int min, int sec) override
 
void setdatemin (int year, int month, int day, int hour, int min, int sec) override
 
void setdatemax (int year, int month, int day, int hour, int min, int sec) override
 
void unset (const char *param) override
 
void unsetall () override
 
void unsetb () override
 
const char * spiegal (int ltype1, int l1, int ltype2, int l2) override
 
const char * spiegat (int ptype, int p1, int p2) override
 
const char * spiegab (const char *varcode, const char *value) override
 
const char * ancora () override
 
void fatto () override
 
AttrState test_get_attr_state () const
 
- Public Member Functions inherited from dballe::fortran::API
virtual void scopa (const char *repinfofile=0)=0
 
virtual void remove_all ()=0
 
virtual int quantesono ()=0
 
virtual void elencamele ()=0
 
virtual int voglioquesto ()=0
 
virtual const char * dammelo ()=0
 
virtual void prendilo ()=0
 
virtual void dimenticami ()=0
 
virtual int voglioancora ()=0
 
virtual void critica ()=0
 
virtual void scusa ()=0
 
virtual void messages_open_input (const char *filename, const char *mode, File::Encoding format, bool simplified=true)=0
 
virtual void messages_open_output (const char *filename, const char *mode, File::Encoding format)=0
 
virtual bool messages_read_next ()=0
 
virtual void messages_write_next (const char *template_name=0)=0
 

Protected Types

enum  {
  PERM_ANA_RO = (1 << 0), PERM_ANA_WRITE = (1 << 1), PERM_DATA_RO = (1 << 2), PERM_DATA_ADD = (1 << 3),
  PERM_DATA_WRITE = (1 << 4), PERM_ATTR_RO = (1 << 5), PERM_ATTR_WRITE = (1 << 6)
}
 

Protected Member Functions

void set_permissions (const char *anaflag, const char *dataflag, const char *attrflag)
 Set the permission bits, parsing the flags and doing consistency checks.
 
Recordchoose_input_record (const char *&param)
 Choose the input record to use for param. More...
 
Recordchoose_output_record (const char *&param)
 Choose the output record to use for param. More...
 
void read_qc_list (std::vector< wreport::Varcode > &res_arr) const
 Reads the list of QC values to operate on, for dba_voglioancora and dba_scusa.
 

Protected Attributes

int perms
 
core::Record input
 
bool station_context = false
 
core::Record output
 
core::Record qcinput
 
core::Record qcoutput
 
int qc_iter
 
int qc_count
 
AttrState attr_state
 
wreport::Varcode attr_varid
 
int attr_reference_id
 
std::string cached_spiega
 

Additional Inherited Members

- Static Public Attributes inherited from dballe::fortran::API
static const signed char missing_byte
 
static const int missing_int
 
static const float missing_float
 
static const double missing_double
 

Detailed Description

Common implementation of the set* and enq* machinery using input and output records.

Member Enumeration Documentation

Enumerator
ATTR_DAMMELO 

After a dammelo.

ATTR_PRENDILO 

After a prendilo.

ATTR_REFERENCE 

After a set *context_id or *var_related.

Member Function Documentation

Record& dballe::fortran::CommonAPIImplementation::choose_input_record ( const char *&  param)
protected

Choose the input record to use for param.

Also, adjust param to remove a leading '*' if present.

Record& dballe::fortran::CommonAPIImplementation::choose_output_record ( const char *&  param)
protected

Choose the output record to use for param.

Also, adjust param to remove a leading '*' if present.


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