#ifndef __DebugMessage_h_ #define __DebugMessage_h_ #include "DataNodes.h" #include "../../shared/CommandDispatcher.h" /* This provides a quick and easy way to retrieve a dubug message from a * socket and send it to a data node. */ class DebugMessage : public BroadcastMessage { private: ExternalRequest *const _request; PropertyList _properties; public: DebugMessage(std::string const &prefix, ExternalRequest *request); DebugMessage(std::string const &prefix, PropertyList const &propertyList); ~DebugMessage(); PropertyList const &getProperties() const { return _request?_request->getProperties():_properties; } ExternalRequest::MessageId getResponseMessageId() const { return _request->getResponseMessageId(); } }; class Debugger : public RequestListener { private: enum { mtDebug }; DataNodeManager *const _manager; const std::string _broadcastPrefix; public: Debugger(std::string const &commandName, int msgId, std::string const &broadcastPrefix, DataNodeManager *manager); void sendRequest(PropertyList const &propertyList); void newRequest(Request *request); }; #endif