/////////////////////////////////////////////////////////////////////////////
// analyzer.h
//
// SIMLIB version: 2.16.3
// Date: 2001-04-04
// Copyright (c) 1999-2001 David Martinek, Dr. Ing. Petr Peringer
//
// This library is licensed under GNU Library GPL. See the file COPYING.
//
// Warning: this is EXPERIMENTAL code, interfaces can be changed
//
// General data extraction subsystem for SIMLIB
// version 0.6 --- We apr 4 10:33:52 CEST 2001
//
/////////////////////////////////////////////////////////////////////////////
// A general interface for external data analysis. It can be used not only for
// XML analysis.
/////////////////////////////////////////////////////////////////////////////
#ifndef ANALYZER_H
#define ANALYZER_H
/**
* An abstract class. Its descendants contains analyzed data.<br>
* Abstraktni trida. Jeji potomci obsahuji analyzovana data.
* @ingroup xml
*/
class AnalyzedData
{
public:
/**
* It returns true, if data are complete.<br>
* Vrací true, když jsou data kompletní.
*/
virtual bool isComplete() = 0;
/**
* If true is set, it will be dealocated all data members of object by destruction.<br>
* Pokud je nastaveno true, budou se při destrukci objektu dealokovat i všechny datové členy.
*/
void setReleasable(bool release) { releasable = release; }
protected:
bool releasable; /**< Data will be dealocated or not. */
private:
};
/**
* An abstract interface for external data analysis.<br>
* Třída Anaylser je abstraktní třída, která slouží jako rozhraní pro analýzu externích dat.
* @ingroup xml
*/
class Analyzer
{
public:
Analyzer() { analyzeTime = 0; }
virtual ~Analyzer() {}
/**
* It realizes the analysis.<br>Provede analýzu zadaného souboru.
*/
virtual void analyze(char * fileName) = 0;
/**
* It gets analyzed data.<br>Vrátí data získaná analýzou.
*/
virtual AnalyzedData * getAnalyzedData() = 0;
/**
* It returns time in miliseconds which is needed for analysis.<br>
* Vrací čas v milisekundách spotřebovaný analýzou dat.
*/
unsigned long getAnalyzeTime() { return analyzeTime; }
/**
* It returns number of indicated erros.<br>Vrací počet indikovaných chyb.
*/
virtual int getNumErrors() = 0;
/**
* It returns number of indicated fatal errors.<br>Vrací počet indikovaných fatálních chyb.
*/
virtual int getNumFatalErrors() = 0;
/**
* It returns number of indicated warnings.<br> Vrací počet indikovaných varování.
*/
virtual int getNumWarnings() = 0;
protected:
unsigned long analyzeTime; /**< Time needed for analysis.<br>Doba spotřebovaná na analýzu dat. */
private:
};
#endif
syntax highlighted by Code2HTML, v. 0.9.1