mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-12 04:47:14 +02:00
update
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@ -5,11 +5,11 @@
|
||||
***********************************************/
|
||||
|
||||
|
||||
|
||||
#include <string.h>
|
||||
#include <iostream>
|
||||
#include <string.h>
|
||||
using namespace std;
|
||||
|
||||
|
||||
#include "UDPInterface.h"
|
||||
#include "UDPBaseImplementation.h"
|
||||
#include "UDPStandardImplementation.h"
|
||||
@ -20,11 +20,10 @@ using namespace std;
|
||||
|
||||
using namespace std;
|
||||
|
||||
// TODO: I do not really like passing a bottom-top boolean to the constructor...
|
||||
UDPInterface * UDPInterface::create(string receiver_type){
|
||||
|
||||
if (receiver_type == "standard"){
|
||||
cout << "Starting " << receiver_type << endl;
|
||||
FILE_LOG(logINFO) << "Starting " << receiver_type;
|
||||
return new UDPStandardImplementation();
|
||||
}
|
||||
#ifdef REST
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -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,43 +60,36 @@ 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){
|
||||
cout << "DONE!" << endl;
|
||||
if(receiver->start() == slsReceiverDefs::OK){
|
||||
FILE_LOG(logDEBUG1) << "DONE!" << endl;
|
||||
string str;
|
||||
cin>>str;
|
||||
//wait and look for an exit keyword
|
||||
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;
|
||||
}
|
||||
|
@ -29,6 +29,9 @@ slsReceiver::slsReceiver(int argc, char *argv[], int &success){
|
||||
* @return
|
||||
*/
|
||||
|
||||
udp_interface = NULL;
|
||||
tcpipInterface = NULL;
|
||||
|
||||
//creating base receiver
|
||||
map<string, string> configuration_map;
|
||||
int tcpip_port_no = 1954;
|
||||
@ -55,7 +58,8 @@ slsReceiver::slsReceiver(int argc, char *argv[], int &success){
|
||||
};
|
||||
/* getopt_long stores the option index here. */
|
||||
int option_index = 0;
|
||||
int c;
|
||||
int c=0;
|
||||
optind = 1;
|
||||
|
||||
while ( c != -1 ){
|
||||
c = getopt_long (argc, argv, "mbfhtr", long_options, &option_index);
|
||||
@ -162,7 +166,7 @@ void slsReceiver::closeFile(int p) {
|
||||
|
||||
|
||||
int64_t slsReceiver::getReceiverVersion(){
|
||||
tcpipInterface->getReceiverVersion();
|
||||
return tcpipInterface->getReceiverVersion();
|
||||
}
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,47 +1,45 @@
|
||||
#include "slsReceiverUsers.h"
|
||||
#include "slsReceiver.h"
|
||||
|
||||
slsReceiver* slsReceiverUsers::receiver(NULL);
|
||||
|
||||
slsReceiverUsers::slsReceiverUsers(int argc, char *argv[], int &success) {
|
||||
slsReceiverUsers::receiver=new slsReceiver(argc, argv, success);
|
||||
receiver=new slsReceiver(argc, argv, success);
|
||||
}
|
||||
|
||||
slsReceiverUsers::~slsReceiverUsers() {
|
||||
delete slsReceiverUsers::receiver;
|
||||
delete receiver;
|
||||
}
|
||||
|
||||
int slsReceiverUsers::start() {
|
||||
return slsReceiverUsers::receiver->start();
|
||||
return receiver->start();
|
||||
}
|
||||
|
||||
void slsReceiverUsers::stop() {
|
||||
slsReceiverUsers::receiver->stop();
|
||||
receiver->stop();
|
||||
}
|
||||
|
||||
|
||||
void slsReceiverUsers::closeFile(int p) {
|
||||
slsReceiverUsers::receiver->closeFile(p);
|
||||
receiver->closeFile(p);
|
||||
}
|
||||
|
||||
int64_t slsReceiverUsers::getReceiverVersion(){
|
||||
slsReceiverUsers::receiver->getReceiverVersion();
|
||||
return receiver->getReceiverVersion();
|
||||
}
|
||||
|
||||
|
||||
void slsReceiverUsers::registerCallBackStartAcquisition(int (*func)(char*, char*,int, int, void*),void *arg){
|
||||
slsReceiverUsers::receiver->registerCallBackStartAcquisition(func,arg);
|
||||
receiver->registerCallBackStartAcquisition(func,arg);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void slsReceiverUsers::registerCallBackAcquisitionFinished(void (*func)(int, void*),void *arg){
|
||||
slsReceiverUsers::receiver->registerCallBackAcquisitionFinished(func,arg);
|
||||
receiver->registerCallBackAcquisitionFinished(func,arg);
|
||||
}
|
||||
|
||||
|
||||
void slsReceiverUsers::registerCallBackRawDataReady(void (*func)(int, char*, int, FILE*, char*, void*),void *arg){
|
||||
slsReceiverUsers::receiver->registerCallBackRawDataReady(func,arg);
|
||||
receiver->registerCallBackRawDataReady(func,arg);
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user