billich 204a71c51a rename class eigerReceiver to EigerReceiver - start class names with a capital letter.
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
2014-03-11 16:51:55 +00:00

62 lines
1.5 KiB
C++

/*
* eigerReceiverTest.cpp
*
* Created on: Mar 11, 2014
* Author: billich
*/
#include <iostream>
#include <string>
#include "eigerReceiver.h"
int main(int argc, char *argv[]){
const char *name = "detectors_host_name";
std::string prefix = "main: ";
std::cout <<prefix<< "start EigerReceiver tests\n";
EigerReceiver *receiver = EigerReceiver::create();
receiver->initialize(name);
char *c1 = receiver->getFileName();
std::cout <<prefix<< "got file name " << c1 << '\n';
delete[] c1;
char *c2 = receiver->getFilePath();
std::cout <<prefix<< "got path name " << c2 << '\n';
delete[]c2;
int range = receiver->getDynamicRange();
std::cout <<prefix<< "got dynamic range " << range << ".\n";
int tag = receiver->getScanTag();
std::cout <<prefix<< "got scan tag " << tag << ".\n";
char *c3 = receiver->setFileName( "some_other_name");
std::cout <<prefix<< "got file name " << c3 << " after setting to <some_other_name>\n";
delete[] c3;
char *c4 = receiver->setFilePath( "some_other_path");
std::cout <<prefix<< "got file path " << c4 << " after setting to <some_other_path>\n";
delete[] c4;
range = receiver->setDynamicRange(8);
std::cout <<prefix<< "got dynamic range " << range << " after setting it to 8.\n";
int n = receiver->setNumberOfFrames(11);
int w = receiver->setEnableFileWrite(1);
char *c5;
receiver->startReceiver(c5);
receiver->stopReceiver();
receiver->abort();
receiver->getEnableFileWrite();
char *c6 = receiver->getDetectorHostname();
delete[] c6;
}