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