#pragma once #include #include "DllDefines.h" class IODLLCLASS CHardwareConfiguration { public: // !!! MUST declare destructor. Else factory design will cause memory leak virtual ~CHardwareConfiguration() {} virtual bool GetChannelConfig(int nCardType, int nCardNo, int nNoOfChannel, int* npChannelArray, int nWhatCard) = 0; virtual int GetSharing(int nCardType, int nCardNo, int nWhatCard) = 0; virtual int GetNoOfDifferentCardType(int nWhatCard) = 0; virtual std::string GetCardName(int nCardTypeNo, int nWhatCard) = 0; // get the no of card of different card category virtual int GetNoOfCard(int nCardTypeNo, int nWhatCard) = 0; // Distributed Motion virtual int GetNoOfModels(int nCardTypeNo, int nWhatCard) = 0; virtual std::string GetModelName(int nCardTypeNo, int nModelNo, int nWhatCard) = 0; virtual int GetModelNoOfCards(int nCardTypeNo, int nModelNo, int nWhatCard) = 0; virtual int GetAddress(int nCardTypeNo, int nModelNo, int nCardNo, int nWhatCard) = 0; virtual int GetSpeed(int nCardTypeNo, int nModelNo, int nCardNo, int nWhatCard) = 0; virtual int GetHSLSpeed(int nCardTypeNo, int nModelNo, int nCardNo, int nWhatCard) = 0; virtual int GetHSLHubNumber(int nCardTypeNo, int nModelNo, int nCardNo, int nWhatCard) = 0; // custom virtual int GetGalilTriggerPulseWidth() = 0; virtual bool GetGalilNewHomeBySensor() = 0; };