mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-16 21:13:36 +08:00
ostream operator for ServiceCallResult<>
This commit is contained in:
@@ -40,6 +40,19 @@ struct ServiceCallResult
|
||||
bool isSuccessful() const { return status == Success; }
|
||||
};
|
||||
|
||||
template <typename Stream, typename DataType>
|
||||
static Stream& operator<<(Stream& s, const ServiceCallResult<DataType>& scr)
|
||||
{
|
||||
s << "# Service call result [" << DataType::getDataTypeFullName() << "] "
|
||||
<< (scr.isSuccessful() ? "OK" : "FAILURE")
|
||||
<< " server_node_id=" << int(scr.server_node_id.get()) << "\n";
|
||||
if (scr.isSuccessful())
|
||||
s << scr.response;
|
||||
else
|
||||
s << "# (no data)";
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
template <typename DataType_, typename Callback = void(*)(const ServiceCallResult<DataType_>&)>
|
||||
class ServiceClient :
|
||||
|
||||
@@ -22,11 +22,7 @@ struct ServiceCallResultHandler
|
||||
|
||||
void handleResponse(const uavcan::ServiceCallResult<DataType>& result)
|
||||
{
|
||||
// TODO: stream uavcan::ServiceCallResult<> directly
|
||||
std::cout << "Service call result [" << DataType::getDataTypeFullName() << "], success="
|
||||
<< result.isSuccessful() << ":\n";
|
||||
std::cout << result.response << std::endl;
|
||||
|
||||
std::cout << result << std::endl;
|
||||
last_status = result.status;
|
||||
last_response = result.response;
|
||||
last_server_node_id = result.server_node_id;
|
||||
|
||||
Reference in New Issue
Block a user