Files
EgtGeneral/CmdParser.h
T
Dario Sassi e8a7eaa2ac EgtGeneral :
- aggiunta a CmdParser GetIdParam.
2014-04-10 17:34:55 +00:00

65 lines
2.7 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2013-2013
//----------------------------------------------------------------------------
// File : CmdParser.h Data : 25.11.13 Versione : 1.3a1
// Contenuto : Dichiarazione della classe CmdParser.
//
//
//
// Modifiche : 19.01.13 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "CmdScanner.h"
#include "/EgtDev/Include/EgtPerfCounter.h"
#include "/EgtDev/Include/EgnStringBase.h"
#include "/EgtDev/Include/EgnCmdParser.h"
#include "/EgtDev/Include/EgtExecMgr.h"
//----------------------------------------------------------------------------
class CmdParser : public ICmdParser
{
public : // ICmdParser
virtual ~CmdParser( void) ;
virtual bool Init( void) ;
virtual bool SetExecutor( ICmdExecutor* pCmdExec) ;
virtual bool AddExecutor( ICmdExecutor* pCmdExec) ;
virtual bool AddVariable( const std::string& sName, int nVal) ;
virtual bool SetVariable( const std::string& sName, int nVal) ;
virtual bool GetVariable( const std::string& sName, int& nVal) ;
virtual bool RemoveVariable( const std::string& sName) ;
virtual int GetIdParam( const std::string& sParam, bool bNewAllowed = false) ;
virtual bool Run( const std::string& sCmdFile, bool bIsolated = true) ;
virtual bool ExecLine( const std::string& sCmdLine, bool bIsolated = false) ;
public :
CmdParser( void) ;
private :
bool ResetAllVariables( void) ;
const std::string GetInitSpaces( void) ;
bool ExecCommand( const std::string& sCmd, const std::string& sParams) ;
bool ExecuteCounter( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteDir( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteFile( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecutePause( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteReset( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteRun( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteSet( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool GetNamesParam( const std::string& sParam, STRVECTOR& vsNames) ;
private :
typedef std::list<ICmdExecutor*> PCmdExecList ;
typedef std::unordered_map<std::string, int> NameMap ;
private :
PCmdExecList m_CmdExecList ;
NameMap m_NameMap ;
ExecManager<CmdParser> m_ExecMgr ;
int m_nLev ;
PerformanceCounter m_Counter ;
} ;