TransportStatsProvider

This commit is contained in:
Pavel Kirienko
2014-03-27 03:13:25 +04:00
parent 851e984e35
commit 0dff5b36e4
5 changed files with 154 additions and 2 deletions
@@ -0,0 +1,34 @@
/*
* Copyright (C) 2014 Pavel Kirienko <pavel.kirienko@gmail.com>
*/
#pragma once
#include <uavcan/node/service_server.hpp>
#include <uavcan/util/method_binder.hpp>
#include <uavcan/protocol/GetTransportStats.hpp>
namespace uavcan
{
class TransportStatsProvider : Noncopyable
{
typedef MethodBinder<const TransportStatsProvider*,
void (TransportStatsProvider::*)(const protocol::GetTransportStats::Request&,
protocol::GetTransportStats::Response&) const>
GetTransportStatsCallback;
ServiceServer<protocol::GetTransportStats, GetTransportStatsCallback> srv_;
void handleGetTransportStats(const protocol::GetTransportStats::Request&,
protocol::GetTransportStats::Response& resp) const;
public:
explicit TransportStatsProvider(INode& node)
: srv_(node)
{ }
int start();
};
}