receiver bug fix: with refactor, the callbacks were getting reset upon initialization. fixed

This commit is contained in:
2019-03-08 09:14:29 +01:00
parent 658438df3b
commit 0553755439
4 changed files with 52 additions and 25 deletions

View File

@ -597,19 +597,21 @@ int slsReceiverTCPIPInterface::set_detector_type(){
if(ret == OK) {
if(receiver == nullptr){
receiver = new slsReceiverImplementation();
if(startAcquisitionCallBack)
receiver->registerCallBackStartAcquisition(startAcquisitionCallBack,pStartAcquisition);
if(acquisitionFinishedCallBack)
receiver->registerCallBackAcquisitionFinished(acquisitionFinishedCallBack,pAcquisitionFinished);
if(rawDataReadyCallBack)
receiver->registerCallBackRawDataReady(rawDataReadyCallBack,pRawDataReady);
if(rawDataModifyReadyCallBack)
receiver->registerCallBackRawDataModifyReady(rawDataModifyReadyCallBack,pRawDataReady);
}
myDetectorType = arg;
ret = receiver->setDetectorType(myDetectorType);
retval = myDetectorType;
// callbacks after (in setdetectortype, the object is reinitialized)
if(startAcquisitionCallBack)
receiver->registerCallBackStartAcquisition(startAcquisitionCallBack,pStartAcquisition);
if(acquisitionFinishedCallBack)
receiver->registerCallBackAcquisitionFinished(acquisitionFinishedCallBack,pAcquisitionFinished);
if(rawDataReadyCallBack)
receiver->registerCallBackRawDataReady(rawDataReadyCallBack,pRawDataReady);
if(rawDataModifyReadyCallBack)
receiver->registerCallBackRawDataModifyReady(rawDataModifyReadyCallBack,pRawDataReady);
// client has started updating receiver, update ip
if (!lockStatus)
strcpy(mySock->lastClientIP, mySock->thisClientIP);