This commit is contained in:
2016-02-12 11:09:47 +01:00
22 changed files with 5116 additions and 8991 deletions

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -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;
}

View File

@ -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

View File

@ -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);
}