21#include <opendht/infohash.h>
22#include <opendht/value.h>
23#include <opendht/default_types.h>
59 added = json[
"added"].asLargestUInt();
60 removed = json[
"removed"].asLargestUInt();
62 banned = json[
"banned"].asBool();
72 const auto copy = *
this;
102 json[
"added"] = Json::Int64(
added);
104 json[
"removed"] = Json::Int64(
removed);
114 std::map<std::string, std::string>
toMap()
const
116 std::map<std::string, std::string> result {{
"added", std::to_string(
added)},
117 {
"removed", std::to_string(
removed)},
133 std::shared_ptr<dht::crypto::PublicKey>
device;
143 using BaseClass = dht::SignedValue<DeviceAnnouncement>;
146 static const constexpr dht::ValueType&
TYPE = dht::ValueType::USER_DATA;
148 std::shared_ptr<dht::crypto::PublicKey>
pk;
149 MSGPACK_DEFINE_MAP(
dev,
pk)
160 static const constexpr dht::ValueType&
TYPE = dht::ValueType::USER_DATA;
165 std::map<dht::InfoHash, Contact>
peers;
172 using clock = std::chrono::system_clock;
185 const std::string&
n = {},
static constexpr const char TRUE_STR[]
void emitSignal(Args... args)
static constexpr const char FALSE_STR[]
std::shared_ptr< dht::crypto::PublicKey > pk
static const constexpr dht::ValueType & TYPE
std::map< dht::InfoHash, Contact > peers
static const constexpr dht::ValueType & TYPE
std::map< dht::InfoHash, TrustRequest > trust_requests
std::map< dht::InfoHash, std::string > devices_known
std::map< dht::PkId, KnownDeviceSync > devices
std::shared_ptr< dht::crypto::Certificate > certificate
Device certificate.
clock::time_point time_point
time_point last_sync
Time of last received device sync.
std::string name
Device name.
std::chrono::system_clock clock
KnownDevice(const std::shared_ptr< dht::crypto::Certificate > &cert, const std::string &n={}, time_point sync=time_point::min())
std::vector< uint8_t > payload
std::shared_ptr< dht::crypto::PublicKey > device
std::string conversationId