26 #ifndef NIDAS_CORE_STATUSLISTENER_H
27 #define NIDAS_CORE_STATUSLISTENER_H
29 #include <xercesc/sax2/XMLReaderFactory.hpp>
30 #include <xmlrpcpp/XmlRpc.h>
37 namespace nidas {
namespace core {
55 int run() throw(nidas::util::Exception);
63 std::map < std::
string, std::
string >
_clocks;
64 std::map < std::
string, std::
string >
_oldclk;
68 std::map < std::
string, std::
string >
_status;
83 StatusListener& operator=(const StatusListener&);
91 GetClocks(XmlRpc::XmlRpcServer * s, StatusListener * lstn):
92 XmlRpc::XmlRpcServerMethod(
"GetClocks", s), _listener(lstn)
96 void execute(XmlRpc::XmlRpcValue & params,
97 XmlRpc::XmlRpcValue & result);
101 return std::string(
"help GetClocks");
121 lstn):XmlRpc::XmlRpcServerMethod(
"GetStatus", s),
126 void execute(XmlRpc::XmlRpcValue & params,
127 XmlRpc::XmlRpcValue & result);
130 return std::string(
"help GetStatus");
~StatusListener()
Definition: StatusListener.cc:73
std::string help()
Definition: StatusListener.h:129
gets a list of current status reports for each broadcasting DSM.
Definition: StatusListener.h:116
int run()
The method which will run in its own thread.
Definition: StatusListener.cc:80
StatusListener * _listener
reference to listener thread
Definition: StatusListener.h:135
nidas::util::Mutex _clocksMutex
provide mutually exclusive access to these maps.
Definition: StatusListener.h:59
friend class GetClocks
Definition: StatusListener.h:48
StatusListener()
Definition: StatusListener.cc:45
friend class GetStatus
Definition: StatusListener.h:49
This class implements handling routines for the SAX2 parser.
Definition: StatusHandler.h:41
GetClocks(XmlRpc::XmlRpcServer *s, StatusListener *lstn)
Definition: StatusListener.h:91
std::map< std::string, std::string > _clocks
this map contains the latest clock from each DSM
Definition: StatusListener.h:63
StatusListener & operator=(const StatusListener &)
No assignment.
std::map< std::string, std::string > _status
this map contains the latest status message from each DSM
Definition: StatusListener.h:68
StatusHandler * _handler
SAX handler.
Definition: StatusListener.h:77
nidas::util::Mutex _statusMutex
Definition: StatusListener.h:60
std::map< std::string, std::string > _samplePool
this map contains the latest sample pool message from each DSM
Definition: StatusListener.h:71
std::map< std::string, int > _nstale
Definition: StatusListener.h:65
StatusListener * _listener
reference to listener thread
Definition: StatusListener.h:106
thread that listens to multicast messages from all of the DSMs.
Definition: StatusListener.h:45
std::map< std::string, std::string > _oldclk
Definition: StatusListener.h:64
xercesc::SAX2XMLReader * _parser
SAX parser.
Definition: StatusListener.h:74
GetStatus(XmlRpc::XmlRpcServer *s, StatusListener *lstn)
Definition: StatusListener.h:119
gets a list of current clock times for each broadcasting DSM.
Definition: StatusListener.h:88
std::string help()
Definition: StatusListener.h:99