mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-20 00:51:42 +00:00
[ntcore] NetworkTables 4 (#3217)
This commit is contained in:
@@ -4,13 +4,23 @@
|
||||
|
||||
#include "TestPrinters.h"
|
||||
|
||||
#include <wpi/json.h>
|
||||
|
||||
#include "Handle.h"
|
||||
#include "Message.h"
|
||||
#include "PubSubOptions.h"
|
||||
#include "net/Message.h"
|
||||
#include "net3/Message3.h"
|
||||
#include "networktables/NetworkTableValue.h"
|
||||
#include "ntcore_cpp.h"
|
||||
|
||||
namespace nt {
|
||||
namespace wpi {
|
||||
void PrintTo(const json& val, ::std::ostream* os) {
|
||||
*os << val.dump();
|
||||
}
|
||||
} // namespace wpi
|
||||
|
||||
namespace nt {
|
||||
#if 0
|
||||
void PrintTo(const EntryNotification& event, std::ostream* os) {
|
||||
*os << "EntryNotification{listener=";
|
||||
PrintTo(Handle{event.listener}, os);
|
||||
@@ -20,7 +30,7 @@ void PrintTo(const EntryNotification& event, std::ostream* os) {
|
||||
PrintTo(event.value, os);
|
||||
*os << '}';
|
||||
}
|
||||
|
||||
#endif
|
||||
void PrintTo(const Handle& handle, std::ostream* os) {
|
||||
*os << "Handle{";
|
||||
switch (handle.GetType()) {
|
||||
@@ -48,11 +58,14 @@ void PrintTo(const Handle& handle, std::ostream* os) {
|
||||
case Handle::kLoggerPoller:
|
||||
*os << "kLoggerPoller";
|
||||
break;
|
||||
case Handle::kRpcCall:
|
||||
*os << "kRpcCall";
|
||||
case Handle::kTopic:
|
||||
*os << "kTopic";
|
||||
break;
|
||||
case Handle::kRpcCallPoller:
|
||||
*os << "kRpcCallPoller";
|
||||
case Handle::kSubscriber:
|
||||
*os << "kSubscriber";
|
||||
break;
|
||||
case Handle::kPublisher:
|
||||
*os << "kPublisher";
|
||||
break;
|
||||
default:
|
||||
*os << "UNKNOWN";
|
||||
@@ -61,46 +74,46 @@ void PrintTo(const Handle& handle, std::ostream* os) {
|
||||
*os << ", " << handle.GetInst() << ", " << handle.GetIndex() << '}';
|
||||
}
|
||||
|
||||
void PrintTo(const Message& msg, std::ostream* os) {
|
||||
void PrintTo(const net3::Message3& msg, std::ostream* os) {
|
||||
*os << "Message{";
|
||||
switch (msg.type()) {
|
||||
case Message::kKeepAlive:
|
||||
case net3::Message3::kKeepAlive:
|
||||
*os << "kKeepAlive";
|
||||
break;
|
||||
case Message::kClientHello:
|
||||
case net3::Message3::kClientHello:
|
||||
*os << "kClientHello";
|
||||
break;
|
||||
case Message::kProtoUnsup:
|
||||
case net3::Message3::kProtoUnsup:
|
||||
*os << "kProtoUnsup";
|
||||
break;
|
||||
case Message::kServerHelloDone:
|
||||
case net3::Message3::kServerHelloDone:
|
||||
*os << "kServerHelloDone";
|
||||
break;
|
||||
case Message::kServerHello:
|
||||
case net3::Message3::kServerHello:
|
||||
*os << "kServerHello";
|
||||
break;
|
||||
case Message::kClientHelloDone:
|
||||
case net3::Message3::kClientHelloDone:
|
||||
*os << "kClientHelloDone";
|
||||
break;
|
||||
case Message::kEntryAssign:
|
||||
case net3::Message3::kEntryAssign:
|
||||
*os << "kEntryAssign";
|
||||
break;
|
||||
case Message::kEntryUpdate:
|
||||
case net3::Message3::kEntryUpdate:
|
||||
*os << "kEntryUpdate";
|
||||
break;
|
||||
case Message::kFlagsUpdate:
|
||||
case net3::Message3::kFlagsUpdate:
|
||||
*os << "kFlagsUpdate";
|
||||
break;
|
||||
case Message::kEntryDelete:
|
||||
case net3::Message3::kEntryDelete:
|
||||
*os << "kEntryDelete";
|
||||
break;
|
||||
case Message::kClearEntries:
|
||||
case net3::Message3::kClearEntries:
|
||||
*os << "kClearEntries";
|
||||
break;
|
||||
case Message::kExecuteRpc:
|
||||
case net3::Message3::kExecuteRpc:
|
||||
*os << "kExecuteRpc";
|
||||
break;
|
||||
case Message::kRpcResponse:
|
||||
case net3::Message3::kRpcResponse:
|
||||
*os << "kRpcResponse";
|
||||
break;
|
||||
default:
|
||||
@@ -125,6 +138,12 @@ void PrintTo(const Value& value, std::ostream* os) {
|
||||
case NT_DOUBLE:
|
||||
*os << value.GetDouble();
|
||||
break;
|
||||
case NT_FLOAT:
|
||||
*os << value.GetFloat();
|
||||
break;
|
||||
case NT_INTEGER:
|
||||
*os << value.GetInteger();
|
||||
break;
|
||||
case NT_STRING:
|
||||
*os << '"' << value.GetString() << '"';
|
||||
break;
|
||||
@@ -137,12 +156,15 @@ void PrintTo(const Value& value, std::ostream* os) {
|
||||
case NT_DOUBLE_ARRAY:
|
||||
*os << ::testing::PrintToString(value.GetDoubleArray());
|
||||
break;
|
||||
case NT_FLOAT_ARRAY:
|
||||
*os << ::testing::PrintToString(value.GetFloatArray());
|
||||
break;
|
||||
case NT_INTEGER_ARRAY:
|
||||
*os << ::testing::PrintToString(value.GetIntegerArray());
|
||||
break;
|
||||
case NT_STRING_ARRAY:
|
||||
*os << ::testing::PrintToString(value.GetStringArray());
|
||||
break;
|
||||
case NT_RPC:
|
||||
*os << ::testing::PrintToString(value.GetRpc());
|
||||
break;
|
||||
default:
|
||||
*os << "UNKNOWN TYPE " << value.type();
|
||||
break;
|
||||
@@ -150,4 +172,11 @@ void PrintTo(const Value& value, std::ostream* os) {
|
||||
*os << '}';
|
||||
}
|
||||
|
||||
void PrintTo(const PubSubOptions& options, std::ostream* os) {
|
||||
*os << "PubSubOptions{periodic=" << options.periodic
|
||||
<< ", pollStorageSize=" << options.pollStorageSize
|
||||
<< ", logging=" << options.sendAll
|
||||
<< ", keepDuplicates=" << options.keepDuplicates << '}';
|
||||
}
|
||||
|
||||
} // namespace nt
|
||||
|
||||
Reference in New Issue
Block a user