ZT/sources/ExtModules/ExternalIOMgr.h

68 lines
2.0 KiB
C++

#ifndef EXTERNALIOMGR_H
#define EXTERNALIOMGR_H
/*******************************************************************************
* *
* Société de Transports de Montréal. *
* 2012 *
* *
* Projet Zones Tests *
* *
* *
* *
*******************************************************************************/
/*
Description:
Description du fichier si nécessaire.
*/
/* ************************************************************************** */
/* Revision:
### 20121213 JFM
Verision d'origine.
### YYYYMMDD Description du besoin ou du bug
Description du changement.
*/
/* ************************************************************************** */
#include "GlobalDefine.h"
#ifndef WINDOWS_OS
#include "seamaxlin.h"
#include "Seaiolibinterface.h"
#endif
#include "Externaliomodule.h"
#include "QList"
#include "IOManager.h"
class CExternalIOMgr : public CIOManager
{
public:
CExternalIOMgr();
~CExternalIOMgr();
unsigned int InitExternalIO(void);
CExternalIOModule *GetModuleHandle(eExternalModuleType_t ModuleType, unsigned int ModuleID);
virtual CIOModule *GetModule(eIOModuleType_t type, unsigned int ModuleID);
virtual unsigned int InitIO();
void DestroyModule();
private:
#ifndef WINDOWS_OS
CSeaMaxLin *mSeaMaxInterface; //The SeaMax driver interface used to communicate with the modules
CSeaIOLibInterface mExternalIODriver;
unsigned int mNbOpenedModules;
QList<CExternalIOModule*> mExternalModulesList;
#endif
};
#endif // EXTERNALIOMGR_H