cumbia formula plugin 4.x
Public Types | Public Member Functions | Public Attributes | List of all members
CuFormulaParser Class Reference

#include <cuformulaparser.h>

Inheritance diagram for CuFormulaParser:

Public Types

enum  State {
  Undefined = 0 , ReadingsIncomplete , CompileOk , CompileError ,
  ValueNotScalar , ToDoubleConversionFailed , MaxState = 16
}
 

Public Member Functions

 CuFormulaParser ()
 
 ~CuFormulaParser ()
 
bool parse (const QString &expression)
 
size_t sourcesCount () const
 
std::vector< std::string > sources () const
 
std::string joinedSources () const
 
std::string source (size_t i) const
 
void updateSource (size_t i, const std::string &s)
 CuFormulaParser::updateSource updates the source at position i with the new source name s. More...
 
long indexOf (const std::string &src) const
 
QString expression () const
 
QString formula () const
 
QString preparedFormula () const
 
QString message () const
 
QString name () const
 
bool error () const
 
QString normalizedFormulaPattern () const
 
bool isNormalized (const QString &expr) const
 
bool isValid (const QString &expr) const
 CuFormulaParser::isValid returns true if a formula is valid. More...
 

Public Attributes

const char states [MaxState][32]
 
const char * formula_regexp_pattern = FORMULA_RE
 

Member Enumeration Documentation

◆ State

Enumerator
Undefined 
ReadingsIncomplete 
CompileOk 
CompileError 
ValueNotScalar 
ToDoubleConversionFailed 
MaxState 

Constructor & Destructor Documentation

◆ CuFormulaParser()

CuFormulaParser::CuFormulaParser ( )

◆ ~CuFormulaParser()

CuFormulaParser::~CuFormulaParser ( )

Member Function Documentation

◆ error()

bool CuFormulaParser::error ( ) const

◆ expression()

QString CuFormulaParser::expression ( ) const

◆ formula()

QString CuFormulaParser::formula ( ) const

◆ indexOf()

long int CuFormulaParser::indexOf ( const std::string &  src) const

◆ isNormalized()

bool CuFormulaParser::isNormalized ( const QString &  expr) const

◆ isValid()

bool CuFormulaParser::isValid ( const QString &  expr) const
Parameters
exprthe expression to be matched against the FORMULA_RE regexp
Returns
returns isNormalized
Note
returns isNormalized

References isNormalized().

◆ joinedSources()

std::string CuFormulaParser::joinedSources ( ) const

◆ message()

QString CuFormulaParser::message ( ) const

◆ name()

QString CuFormulaParser::name ( ) const

◆ normalizedFormulaPattern()

QString CuFormulaParser::normalizedFormulaPattern ( ) const

◆ parse()

bool CuFormulaParser::parse ( const QString &  expression)

◆ preparedFormula()

QString CuFormulaParser::preparedFormula ( ) const

◆ source()

std::string CuFormulaParser::source ( size_t  i) const

◆ sources()

std::vector< std::string > CuFormulaParser::sources ( ) const

◆ sourcesCount()

size_t CuFormulaParser::sourcesCount ( ) const

◆ updateSource()

void CuFormulaParser::updateSource ( size_t  i,
const std::string &  s 
)
Parameters
ithe index of the source to be updated
sthe new name

This can be used to update sources after wildcards ("$1, $2) have been replaced by engine specific readers.

Example
CuFormulaReader calls updateSource after QuWatcher::setSource so that CuFormulaParser contains the complete source name, after wildcards have been replaced by QuWatcher.
See also
CuFormulaReader::setSource

References CuFormulaParserPrivate::srcs.

Referenced by CuFormulaReader::setSource().

Member Data Documentation

◆ formula_regexp_pattern

const char* CuFormulaParser::formula_regexp_pattern = FORMULA_RE

◆ states

const char CuFormulaParser::states[MaxState][32]
Initial value:
= {
"ReadingsIncomplete", "CompileOk", "CompileError", "ValueNotScalar",
"ToDoubleConversionFailed", "", "", "", "", "", "", "", "MaxState"
}

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