mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-13 21:23:34 +08:00
Restart request server moved to header
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
#ifndef UAVCAN_PROTOCOL_RESTART_REQUEST_SERVER_HPP_INCLUDED
|
||||
#define UAVCAN_PROTOCOL_RESTART_REQUEST_SERVER_HPP_INCLUDED
|
||||
|
||||
#include <uavcan/debug.hpp>
|
||||
#include <uavcan/node/service_server.hpp>
|
||||
#include <uavcan/util/method_binder.hpp>
|
||||
#include <uavcan/protocol/RestartNode.hpp>
|
||||
@@ -44,7 +45,24 @@ class UAVCAN_EXPORT RestartRequestServer : Noncopyable
|
||||
IRestartRequestHandler* handler_;
|
||||
|
||||
void handleRestartNode(const ReceivedDataStructure<protocol::RestartNode::Request>& 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<unsigned long long>(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));
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2014 Pavel Kirienko <pavel.kirienko@gmail.com>
|
||||
*/
|
||||
|
||||
#include <uavcan/protocol/restart_request_server.hpp>
|
||||
#include <uavcan/debug.hpp>
|
||||
|
||||
namespace uavcan
|
||||
{
|
||||
|
||||
void RestartRequestServer::handleRestartNode(const ReceivedDataStructure<protocol::RestartNode::Request>& 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<unsigned long long>(request.magic_number));
|
||||
}
|
||||
}
|
||||
|
||||
int RestartRequestServer::start()
|
||||
{
|
||||
return srv_.start(RestartNodeCallback(this, &RestartRequestServer::handleRestartNode));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user