Files
Include/EGnScanner.h
T
Dario Sassi a75ded90fe Include :
- aggiunto EgtUUID e Writer
- Scan diventato Scanner.
2015-06-06 17:57:02 +00:00

57 lines
1.9 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2013-2014
//----------------------------------------------------------------------------
// File : EgnScanner.h Data : 06.03.14 Versione : 1.5c1
// Contenuto : Dichiarazione della classe CScan.
//
//
//
// Modifiche : 20.11.13 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include <string>
struct gzFile_s ;
//----------------------- Macro per import/export -----------------------------
#undef EGN_EXPORT
#if defined( I_AM_EGN) // da definirsi solo nella DLL
#define EGN_EXPORT __declspec( dllexport)
#else
#define EGN_EXPORT __declspec( dllimport)
#endif
//----------------------------------------------------------------------------
class Scanner
{
public :
EGN_EXPORT Scanner( void)
: m_InFile( nullptr), m_bSkipEmptyLine( true), m_nLineNbr( 0), m_bUnget( false), m_nDeltaLineUnget(0) {}
EGN_EXPORT ~Scanner( void)
{ Terminate() ; }
EGN_EXPORT bool Init( const std::string& sFile,
const char* szRemInit = "//", bool bSkipEmptyLine = true) ;
EGN_EXPORT bool Terminate( void) ;
EGN_EXPORT bool GetLine( std::string& sLine) ;
EGN_EXPORT bool UngetLine( std::string& sLine) ;
EGN_EXPORT int GetCurrLineNbr( void)
{ return m_nLineNbr ; }
EGN_EXPORT const std::string& GetFilePath( void)
{ return m_sFName ; }
private :
gzFile_s* m_InFile ;
std::string m_sFName ;
bool m_bFindRem ;
std::string m_sRemInit ;
bool m_bSkipEmptyLine ;
int m_nLineNbr ;
bool m_bUnget ;
std::string m_sUnget ;
int m_nDeltaLineUnget ;
} ;