mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-20 00:37:12 +02:00
put in the changes by Andrea to make it as static and remove as many destructors bugs
This commit is contained in:
@ -6,25 +6,38 @@
|
||||
|
||||
#include <iostream>
|
||||
#include <string.h>
|
||||
#include <signal.h> //SIGINT
|
||||
|
||||
#include "utilities.h"
|
||||
#include "logger.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
slsReceiverUsers *receiver;
|
||||
|
||||
void deleteReceiver(slsReceiverUsers* r){
|
||||
if(r){delete r;r=0;}
|
||||
}
|
||||
|
||||
void closeFile(int p){
|
||||
deleteReceiver(receiver);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
|
||||
//Catch signal SIGINT to close files properly
|
||||
signal(SIGINT,closeFile);
|
||||
|
||||
int ret = slsReceiverDefs::OK;
|
||||
receiver = new slsReceiverUsers(argc, argv, ret);
|
||||
|
||||
slsReceiverUsers *user = new slsReceiverUsers(argc, argv, ret);
|
||||
|
||||
if(ret==slsReceiverDefs::FAIL)
|
||||
if(ret==slsReceiverDefs::FAIL){
|
||||
deleteReceiver(receiver);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
//register callbacks
|
||||
|
||||
|
||||
/**
|
||||
callback arguments are
|
||||
filepath
|
||||
@ -37,10 +50,8 @@ int main(int argc, char *argv[]) {
|
||||
1 callback writes file, we have to open, close it
|
||||
2 we open, close, write file, callback does not do anything
|
||||
|
||||
|
||||
registerCallBackStartAcquisition(int (*func)(char*, char*,int, int, void*),void *arg);
|
||||
*/
|
||||
|
||||
//receiver->registerCallBackStartAcquisition(func,arg);
|
||||
|
||||
|
||||
@ -49,32 +60,25 @@ int main(int argc, char *argv[]) {
|
||||
total farmes caught
|
||||
registerCallBackAcquisitionFinished(void (*func)(int, void*),void *arg);
|
||||
*/
|
||||
|
||||
|
||||
//receiver->registerCallBackAcquisitionFinished(func,arg);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
args to raw data ready callback are
|
||||
framenum
|
||||
datapointer
|
||||
file descriptor
|
||||
guidatapointer (NULL, no data required)
|
||||
|
||||
NEVER DELETE THE DATA POINTER
|
||||
REMEMBER THAT THE CALLBACK IS BLOCKING
|
||||
|
||||
registerCallBackRawDataReady(void (*func)(int, char*, FILE*, char*, void*),void *arg);
|
||||
|
||||
*/
|
||||
|
||||
//receiver->registerCallBackRawDataReady(func,arg);
|
||||
|
||||
|
||||
|
||||
//start tcp server thread
|
||||
if(user->start() == slsReceiverDefs::OK){
|
||||
if(receiver->start() == slsReceiverDefs::OK){
|
||||
FILE_LOG(logDEBUG1) << "DONE!" << endl;
|
||||
string str;
|
||||
cin>>str;
|
||||
@ -82,10 +86,10 @@ int main(int argc, char *argv[]) {
|
||||
while(str.find("exit") == string::npos)
|
||||
cin>>str;
|
||||
//stop tcp server thread, stop udp socket
|
||||
user->stop();
|
||||
receiver->stop();
|
||||
}
|
||||
|
||||
delete user;
|
||||
deleteReceiver(receiver);
|
||||
cout << "Goodbye!" << endl;
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user