mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-22 03:40:04 +02:00
Receiver API slsReceiverUsers implemented
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@500 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
parent
b0870216a1
commit
4a133d8f6e
38
slsDetectorSoftware/slsReceiver/slsReceiverUsers.cpp
Normal file
38
slsDetectorSoftware/slsReceiver/slsReceiverUsers.cpp
Normal file
@ -0,0 +1,38 @@
|
||||
#include "slsReceiverUsers.h"
|
||||
#include "slsReceiver_funcs.h"
|
||||
|
||||
slsReceiverUsers::slsReceiverUsers(int argc, char *argv[], int &success) {
|
||||
receiver=new slsReceiverFuncs(argc, argv, success);
|
||||
}
|
||||
|
||||
slsReceiverUsers::~slsReceiverUsers() {
|
||||
delete receiver;
|
||||
}
|
||||
|
||||
void slsReceiverUsers::start() {
|
||||
receiver->start();
|
||||
}
|
||||
|
||||
|
||||
void slsReceiverUsers::closeFile(int p) {
|
||||
slsReceiverFuncs::closeFile(0);
|
||||
}
|
||||
|
||||
|
||||
void slsReceiverUsers::registerCallBackStartAcquisition(int (*func)(char*, char*,int, int, void*),void *arg){slsReceiverList->registerCallBackStartAcquisition(func,arg);};;
|
||||
|
||||
|
||||
|
||||
int slsReceiverUsers::registerCallBackAcquisitionFinished(void (*func)(int, void*),void *arg){
|
||||
receiver->registerCallBackAcquisitionFinished(func,arg);
|
||||
}
|
||||
|
||||
|
||||
int slsReceiverUsers::registerCallBackRawDataReady(void (*func)(int, char*, FILE*, char*, void*),void *arg){
|
||||
receiver->registerCallBackRawDataReady(func,arg);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
83
slsDetectorSoftware/slsReceiver/slsReceiverUsers.h
Normal file
83
slsDetectorSoftware/slsReceiver/slsReceiverUsers.h
Normal file
@ -0,0 +1,83 @@
|
||||
/********************************************//**
|
||||
* @file slsReceiverUsers.h
|
||||
* @short API for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data
|
||||
*
|
||||
***********************************************/
|
||||
#ifndef SLS_RECEIVER_USERS_H
|
||||
#define SLS_RECEIVER_USERS_H
|
||||
|
||||
#include "slsReceiver_funcs.h"
|
||||
|
||||
class slsReceiverFuncs;
|
||||
|
||||
|
||||
|
||||
class slsReceiverUsers {
|
||||
|
||||
public:
|
||||
/**
|
||||
* Constructor
|
||||
* reads config file, creates socket, assigns function table
|
||||
* @param argc from command line
|
||||
* @param argv from command line
|
||||
* @param succecc socket creation was successfull
|
||||
*/
|
||||
slsReceiverUsers(int argc, char *argv[], int &success);
|
||||
|
||||
|
||||
/** Destructor */
|
||||
~slsReceiverUsers();
|
||||
|
||||
/** Close File */
|
||||
static void closeFile(int p);
|
||||
|
||||
/** starts listening on the TCP port for client comminication */
|
||||
void start();
|
||||
|
||||
/**
|
||||
callback arguments are
|
||||
filepath
|
||||
filename
|
||||
fileindex
|
||||
data size
|
||||
|
||||
return value is
|
||||
0 callback takes care of open,close,wrie file
|
||||
1 callback writes file, we have to open, close it
|
||||
2 we open, close, write file, callback does not do anything
|
||||
|
||||
*/
|
||||
|
||||
void registerCallBackStartAcquisition(int (*func)(char*, char*,int, int, void*),void *arg){slsReceiverList->registerCallBackStartAcquisition(func,arg);};;
|
||||
|
||||
|
||||
/**
|
||||
callback argument is
|
||||
total frames caught
|
||||
|
||||
*/
|
||||
|
||||
|
||||
int registerCallBackAcquisitionFinished(void (*func)(int, void*),void *arg){slsReceiverList->registerCallBackAcquisitionFinished(func,arg);};
|
||||
|
||||
|
||||
|
||||
/**
|
||||
args to raw data ready callback are
|
||||
framenum
|
||||
datapointer
|
||||
file descriptor
|
||||
guidatapointer (NULL, no data required)
|
||||
*/
|
||||
|
||||
int registerCallBackRawDataReady(void (*func)(int, char*, FILE*, char*, void*),void *arg){slsReceiverList->registerCallBackRawDataReady(func,arg);};
|
||||
|
||||
|
||||
private:
|
||||
|
||||
slsReceiverFuncs *receiver;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user