mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-22 14:38:14 +02:00
dataCallback has an argument provided by user
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@194 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
parent
bc85c26bdd
commit
7582cf9781
@ -346,7 +346,7 @@ class slsDetectorUsers
|
|||||||
\param userCallback function for plotting/analyzing the data
|
\param userCallback function for plotting/analyzing the data
|
||||||
*/
|
*/
|
||||||
|
|
||||||
virtual void registerDataCallback(int( *userCallback)(detectorData*))=0;
|
virtual void registerDataCallback(int( *userCallback)(detectorData*, void*), void *pArg)=0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@short register calbback for reading detector position
|
@short register calbback for reading detector position
|
||||||
|
@ -10,7 +10,8 @@ postProcessing::postProcessing(){
|
|||||||
pthread_mutex_init(&mg, NULL);
|
pthread_mutex_init(&mg, NULL);
|
||||||
//cout << "reg callback "<< endl;
|
//cout << "reg callback "<< endl;
|
||||||
dataReady = 0;
|
dataReady = 0;
|
||||||
registerDataCallback(&defaultDataReadyFunc);
|
pCallbackArg = 0;
|
||||||
|
registerDataCallback(&defaultDataReadyFunc, NULL);
|
||||||
//cout << "done "<< endl;
|
//cout << "done "<< endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -301,7 +302,7 @@ void postProcessing::doProcessing(float *lfdata, int delflag, string fname) {
|
|||||||
|
|
||||||
if (dataReady) {
|
if (dataReady) {
|
||||||
|
|
||||||
dataReady(thisData);
|
dataReady(thisData, pCallbackArg);
|
||||||
delete thisData;
|
delete thisData;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -338,7 +339,7 @@ void postProcessing::doProcessing(float *lfdata, int delflag, string fname) {
|
|||||||
|
|
||||||
|
|
||||||
if (dataReady) {
|
if (dataReady) {
|
||||||
dataReady(thisData);
|
dataReady(thisData, pCallbackArg);
|
||||||
delete thisData;
|
delete thisData;
|
||||||
}
|
}
|
||||||
// pthread_mutex_lock(&mg);
|
// pthread_mutex_lock(&mg);
|
||||||
|
@ -241,7 +241,7 @@ s
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void registerDataCallback(int( *userCallback)(detectorData*)) {dataReady = userCallback;};
|
void registerDataCallback(int( *userCallback)(detectorData*, void*), void *pArg) {dataReady = userCallback; pCallbackArg = pArg;};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -363,8 +363,8 @@ s
|
|||||||
/* virtual int getTotalNumberOfChannels()=0; */
|
/* virtual int getTotalNumberOfChannels()=0; */
|
||||||
|
|
||||||
|
|
||||||
int (*dataReady)(detectorData*);
|
int (*dataReady)(detectorData*,void*);
|
||||||
|
void *pCallbackArg;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -323,7 +323,7 @@ int defaultDisconnectChannels() {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int defaultDataReadyFunc(detectorData* d) {
|
int defaultDataReadyFunc(detectorData* d, void* p) {
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
printf("UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU Data received \n");
|
printf("UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU Data received \n");
|
||||||
#endif
|
#endif
|
||||||
|
@ -37,7 +37,7 @@ extern "C" {
|
|||||||
int defaultDisconnectChannels();
|
int defaultDisconnectChannels();
|
||||||
float defaultGetI0(int t);
|
float defaultGetI0(int t);
|
||||||
|
|
||||||
int defaultDataReadyFunc(detectorData* d);
|
int defaultDataReadyFunc(detectorData* d, void* p);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user