#ifndef __CARERAY_API_DLL_H__ #define __CARERAY_API_DLL_H__ #include "include\ICallback.h" #ifdef __cplusplus extern "C" { #endif #ifdef _CARERAY_API_ #define CARERAY_API_PORT typedef _declspec(dllexport) #else #define CARERAY_API_PORT typedef _declspec(dllimport) #endif // ************************ Common API ************************ // CARERAY_API_PORT int (*CB_CR_InitializeLibrary)(); CARERAY_API_PORT int (*CB_CR_DeinitializeLibrary)(); CARERAY_API_PORT void (*CB_CR_GetLastIntlMsg)(char* szMsgBuf, int nBufLen, int nErrorCode/*= -1*/); CARERAY_API_PORT int (*CB_CR_RegisterEventCallback)(int nDetrIndex, ICallback* pCallback); CARERAY_API_PORT int (*CB_CR_GetConfigItemValue)(const char* pItemName, char* pItemValue); CARERAY_API_PORT int (*CB_CR_SetConfigItemValue)(const char* pItemName, const char* pItemValue); CARERAY_API_PORT int (*CB_CR_GetDetectorIndexAndIPAddress)(CR_DetrIdxAndIPAddr* pDetrIdxAndIPAddr, int* pDetrNum); CARERAY_API_PORT int (*CB_CR_Connect)(int nDetrIdx); CARERAY_API_PORT int (*CB_CR_Disconnect)(int nDetrIdx); CARERAY_API_PORT int (*CB_CR_ResetDetector)(int nDetrIdx, bool isNeedReboot); CARERAY_API_PORT int (*CB_CR_GetSystemInformation)(int nDetrIdx, CR_SystemInfo* pSystemInformation); CARERAY_API_PORT int (*CB_CR_GetApplicationMode)(int nDetrIdx, CR_ModeInfo* pModeInfo, int* pModeNum); CARERAY_API_PORT int (*CB_CR_RegisterApplicationMode)(int nDetrIdx, int nAppModeKey, int nModeID, float* pFrameRate, float* pExposureTime, int nTriggType, int nGainType, int nRowIdx/*= 0*/, int nColumnIdx/*= 0*/); CARERAY_API_PORT int (*CB_CR_SetFrameFilter)(int nDetrIdx, int nAppModeKey, const char* pFrameFilter); CARERAY_API_PORT int (*CB_CR_GetModeInfoByAppModeKey)(int nDetrIdx, int nAppModeKey, CR_ModeInfo* pModeInfo); CARERAY_API_PORT int (*CB_CR_LoadReference)(int nDetrIdx, int nAppModeKey); CARERAY_API_PORT int (*CB_CR_UnloadReference)(int nDetrIdx, int nAppModeKey); CARERAY_API_PORT int (*CB_CR_StartAcquisition)(int nDetrIdx, int nAppModeKey, void* pBuffer, int nBuffSize, int nNumFrmReqFromDetr/*= -1*/); // nNumFrmReqFromDetr == -1 means that detector sends out frames continuously until StopAcquisition() is received. CARERAY_API_PORT int (*CB_CR_StartAcquisitionWithCorrOpt)(int nDetrIdx, int nAppModeKey, void* pBuffer, int nBuffSize, unsigned int uCorrOpt); // Only for rad CARERAY_API_PORT int (*CB_CR_StartDarkAcquisition)(int nDetrIdx, int nAppModeKey, int nNumFrmReqFromDetr/*= -1*/); // Only for rad CARERAY_API_PORT int (*CB_CR_StartDarkAcquisitionWithCorrOpt)(int nDetrIdx, int nAppModeKey, unsigned int uCorrOpt); CARERAY_API_PORT int (*CB_CR_StopAcquisition)(int nDetrIdx); CARERAY_API_PORT int (*CB_CR_GetAcquisitionStatInfo)(int nDetrIdx, struct CR_AcquisitionStatInfo* pStatInfo); CARERAY_API_PORT int (*CB_CR_QueryAcquisitionStatus)(int nDetrIdx, CR_ExpProgress* pExpProg); CARERAY_API_PORT int (*CB_CR_QueryAedExposureProgress)(int nDetrIdx, CR_AedExpProgress* pExpProg); CARERAY_API_PORT int (*CB_CR_RequestExposure)(int nDetrIdx); CARERAY_API_PORT int (*CB_CR_PermitExposure)(int nDetrIdx); CARERAY_API_PORT int (*CB_CR_GetImage)(int nDetrIdx, void* pImage, size_t nBuffLen, int nWaitMs/*= 9000*/); CARERAY_API_PORT int (*CB_CR_GetNoHeaderImage)(int nDetrIdx, void* pImage, size_t nBuffLen, int nWaitMs/*= 9000*/); // only for rad CARERAY_API_PORT int (*CB_CR_GetPreviewImage)(int nDetrIdx, void* pImage, size_t nBuffLen, int nWaitMs/*= 9000*/); CARERAY_API_PORT int (*CB_CR_StartDarkCalibration)(int nDetrIdx, int nAppModeKey, bool isTradCalib, bool isUpdateDefectMap); CARERAY_API_PORT int (*CB_CR_StartGainCalibration)(int nDetrIdx, int nAppModeKey); CARERAY_API_PORT int (*CB_CR_StopCalibration)(int nDetrIdx); CARERAY_API_PORT int (*CB_CR_QueryCalibrationStatus)(int nDetrIdx, CR_CalibrationInfo* pCalProgInfo); CARERAY_API_PORT int (*CB_CR_QueryReferenceStatus)(int nDetrIdx, int nAppModeKey, CR_RefStatusInfo* pRefStatusInfo); CARERAY_API_PORT int (*CB_CR_GetDefectInfo)(const int nDetrIdx, const int nAppModeKey, CR_DefectInfo* pDefectInfo); CARERAY_API_PORT int (*CB_CR_GetDetrStatus)(int nDetrIdx, CR_DetrStatus* pDetrStatus); CARERAY_API_PORT int (*CB_CR_GetConnectionStatus)(int nDetrIdx, CR_ConnectionStatus* pStatus); CARERAY_API_PORT int (*CB_CR_GetDaecActiveAreas)(int nDetrIdx, CR_ActiveAreaInfo* pActiveAreasArray, int* pActiveAreasNum, int* pThreshold, int nAppModeKey); CARERAY_API_PORT int (*CB_CR_SetDaecActiveAreas)(int nDetrIdx, CR_ActiveAreaInfo* pActiveAreasArray, int nActiveAreasNum, int nThreshold, int nAppModeKey); // ********************* YosemiteView API ********************* // CARERAY_API_PORT int (*CB_CR_Nudge)(int nDetrIdx); CARERAY_API_PORT int (*CB_CR_SetWorklist)(int nDetrIdx, CR_Examination* pExaminations, int nTotalNum); CARERAY_API_PORT int (*CB_CR_GetWorklist)(int nDetrIdx, int* pExamNum, CR_Examination* pExaminations); CARERAY_API_PORT int (*CB_CR_ClearWorklist)(int nDetrIdx); CARERAY_API_PORT int (*CB_CR_GetInnerStoredImage)(int nDetrIdx, void* pImage, size_t nBuffLen, const char* pFileName, int nWaitMs/*= 9000*/); CARERAY_API_PORT int (*CB_CR_SetPowerMode)(int nDetrIdx, CR_PowerModeID nModeID); CARERAY_API_PORT int (*CB_CR_GetBatteryInfos)(int nDetrIdx, CR_BatteryInfo* pBatteryArray, int* pValidBatteryNum); CARERAY_API_PORT int (*CB_CR_GetWirelessStatus)(int nDetrIdx, CR_WirelessStatus* pWirelessStatus); // ************************* JSON API ************************* // // New interface: simplify acquisition and calibration // Get all support application modes in JSON format CARERAY_API_PORT void (*CB_CR_GetApplicationModeInJson)(int nDetrIdx, char* pResultBuffer); // Register custom modes from configuration file CARERAY_API_PORT void (*CB_CR_RegisterCustomModeFromConfigFile)(int nDetrIdx, char* pResultBuffer); // Generate sample configuration file for custom modes CARERAY_API_PORT void (*CB_CR_GenerateSampleCustomModeConfigFile)(int nDetrIdx); // Get acquisition progress in JSON format - rad mode only CARERAY_API_PORT void (*CB_CR_GetAcquisitionProgressInJson)(int nDetrIdx, char* pResultBuffer); // Get calibration progress in JSON format CARERAY_API_PORT void (*CB_CR_GetCalibrationProgressInJson)(int nDetrIdx, char* pResultBuffer); CARERAY_API_PORT void (*CB_CR_GetModeInfoByAppModeKeyInJson)(int nDetrIdx, int nAppModeKey, char* pResultBuffer); #ifdef __cplusplus } #endif #endif