int main(int argc, char* argv[]) { // Some signals should lead to a normal shutdown of the daq stream client. Afterwards the program exists. signal( SIGTERM, &sigHandler); signal( SIGINT, &sigHandler); if ((argc<2) || (std::string(argv[1])=="-h") ) { std::cout << "syntax: " << argv[0] << " <stream server address> [ -q]" << std::endl; std::cout << "use option -q to print meta data only" << std::endl; return EXIT_SUCCESS; } if ((argc>=3) && (std::string(argv[2]) == "-q")) { signalContainer.setDataAsRawCb(dataCbQuiet); } else { signalContainer.setDataAsRawCb(rawCbVerbose); } signalContainer.setSignalMetaCb(signalMetaInformationCb); streamClient.setStreamMetaCb(streamMetaInformationCb); streamClient.setSignalContainer(&signalContainer); // connect to the daq stream service and give control to the receiving function. // returns on signal (terminate, interrupt) buffer overrun on the server side or loss of connection. streamClient.start(argv[1], hbm::streaming::DAQSTREAM_PORT); return EXIT_SUCCESS; }