diff --git a/libuavcan/include/uavcan/protocol/restart_request_server.hpp b/libuavcan/include/uavcan/protocol/restart_request_server.hpp index 4f9a414e13..d3cd23b5dc 100644 --- a/libuavcan/include/uavcan/protocol/restart_request_server.hpp +++ b/libuavcan/include/uavcan/protocol/restart_request_server.hpp @@ -5,6 +5,7 @@ #ifndef UAVCAN_PROTOCOL_RESTART_REQUEST_SERVER_HPP_INCLUDED #define UAVCAN_PROTOCOL_RESTART_REQUEST_SERVER_HPP_INCLUDED +#include #include #include #include @@ -44,7 +45,24 @@ class UAVCAN_EXPORT RestartRequestServer : Noncopyable IRestartRequestHandler* handler_; void handleRestartNode(const ReceivedDataStructure& request, - protocol::RestartNode::Response& response) const; + protocol::RestartNode::Response& response) const + { + UAVCAN_TRACE("RestartRequestServer", "Request from snid=%i", int(request.getSrcNodeID().get())); + response.ok = false; + if (request.magic_number == protocol::RestartNode::Request::MAGIC_NUMBER) + { + if (handler_) + { + response.ok = handler_->handleRestartRequest(request.getSrcNodeID()); + } + UAVCAN_TRACE("RestartRequestServer", "%s", (response.ok ? "Accepted" : "Rejected")); + } + else + { + UAVCAN_TRACE("RestartRequestServer", "Invalid magic number 0x%llx", + static_cast(request.magic_number)); + } + } public: explicit RestartRequestServer(INode& node) @@ -63,7 +81,10 @@ public: * Starts the server. * Returns negative error code. */ - int start(); + int start() + { + return srv_.start(RestartNodeCallback(this, &RestartRequestServer::handleRestartNode)); + } }; } diff --git a/libuavcan/src/protocol/uc_restart_request_server.cpp b/libuavcan/src/protocol/uc_restart_request_server.cpp deleted file mode 100644 index beb2daa495..0000000000 --- a/libuavcan/src/protocol/uc_restart_request_server.cpp +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) 2014 Pavel Kirienko - */ - -#include -#include - -namespace uavcan -{ - -void RestartRequestServer::handleRestartNode(const ReceivedDataStructure& request, - protocol::RestartNode::Response& response) const -{ - UAVCAN_TRACE("RestartRequestServer", "Request from snid=%i", int(request.getSrcNodeID().get())); - response.ok = false; - if (request.magic_number == protocol::RestartNode::Request::MAGIC_NUMBER) - { - if (handler_) - { - response.ok = handler_->handleRestartRequest(request.getSrcNodeID()); - } - UAVCAN_TRACE("RestartRequestServer", "%s", (response.ok ? "Accepted" : "Rejected")); - } - else - { - UAVCAN_TRACE("RestartRequestServer", "Invalid magic number 0x%llx", - static_cast(request.magic_number)); - } -} - -int RestartRequestServer::start() -{ - return srv_.start(RestartNodeCallback(this, &RestartRequestServer::handleRestartNode)); -} - -}