5 #include <rms/provider/DDSConnection.h>
6 #include <rms/base/RmsDestination.h>
7 #include <rms/RmsReceiver.h>
8 #include <rms/RmsSender.h>
10 #include <NovaTimingUtilities/TimingUtilities.h>
12 #include <DAQMessages/ccpp_ErrorHandlerMessages.h>
14 #include <boost/shared_ptr.hpp>
16 using namespace gov::fnal::cd::rms;
17 using namespace novadaq::timeutils;
22 boost::shared_ptr<provider::DDSConnection>
23 rmsConnection(
new provider::DDSConnection(
"EHTestApplication",0));
28 base::RmsDestination receiveDest(
"EHServerMailbox",
29 base::RmsDestination::EH_CHANNEL);
33 RmsReceiver<provider::DDSConnection,
34 errorhandlermessages::ErrorHandlerMessage>
35 requestReceiver(rmsConnection, receiveDest);
42 std::cout <<
"Waiting for a message..." << std::endl;
43 errorhandlermessages::ErrorHandlerMessage EHMessage;
44 requestReceiver.receiveMessage(EHMessage);
46 std::cout << std::endl <<
"Received message!" << std::endl;
47 std::cout << convertNovaTimeToString(EHMessage.time) << std::endl
48 << EHMessage.error << std::endl << std::endl;
52 RmsSender<provider::DDSConnection,errorhandlermessages::ErrorHandlerReply>
53 requestSender(rmsConnection,receiveDest);
55 errorhandlermessages::ErrorHandlerReply reply;
56 reply.action_complete =
true;
57 requestSender.sendMessage(reply);
58 requestSender.close();
64 requestReceiver.close();
65 rmsConnection->close();