make class EigerReceiver an abstract base class with pure virtual public member functions.
So class EigerReceiver defines the interface, but does not expose the implementation.
Add a preliminary dummy implementation for EigerReceiver.
Add a test program eigerReceiverTest to test the newly created EigerReceiver class.
Modify the Makefile accordingly.
Example:
$ make eigerReceiverTest
g++ -DSLS_RECEIVER_FUNCTION_LIST -O3 -DEIGER_RECEIVER -c -o eigerReceiverTest.o eigerReceiverTest.cpp
g++ -DSLS_RECEIVER_FUNCTION_LIST -O3 -DEIGER_RECEIVER -c -o eigerReceiver.o eigerReceiver.cpp
g++ eigerReceiverTest.o eigerReceiver.o -o eigerReceiverTest
$ ./eigerReceiverTest
main: start EigerReceiver tests
create(): Return new EigerReceiverImplementation instance.
initialize() with: detectorHostName= detectors_host_name.
getFileName(): Return some_file_name.
main: got file name some_file_name
getFilePath(): Return some_path.
main: got path name some_path
getDynamicRange(): Return 16.
main: got dynamic range 16.
getScanTag(): return 4711.
main: got scan tag 4711.
setFileName() called with some_other_name.
getFileName(): Return some_file_name.
main: got file name some_file_name after setting to <some_other_name>
setFilePath() called withsome_other_path.
getFilePath(): Return some_path.
main: got file path some_path after setting to <some_other_path>
setDynamicRange() called with 8.
getDynamicRange(): Return 16.
main: got dynamic range 16 after setting it to 8.
setNumberOfFrames() called with 11.
getNumberOfFrames(): return 42.
enableFileWrite() called with 1.
startReceiver(): return 0.
stopReceiver(): return 0.
abort(): return 0.
getEnableFileWrite() returns 1.
getDetectorHostname(): Return some_host_name.
HeinerBillich/2014-03-11
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@766 951219d9-93cf-4727-9268-0efd64621fa3