21#include <opendht/infohash.h>
22#include <opendht/value.h>
23#include <opendht/default_types.h>
58 added = json[
"added"].asLargestUInt();
59 removed = json[
"removed"].asLargestUInt();
61 banned = json[
"banned"].asBool();
71 const auto copy = *
this;
93 json[
"added"] = Json::Int64(
added);
95 json[
"removed"] = Json::Int64(
removed);
105 std::map<std::string, std::string>
toMap()
const
107 std::map<std::string, std::string> result {{
"added", std::to_string(
added)},
108 {
"removed", std::to_string(
removed)},
124 std::shared_ptr<dht::crypto::PublicKey>
device;
134 using BaseClass = dht::SignedValue<DeviceAnnouncement>;
137 static const constexpr dht::ValueType&
TYPE = dht::ValueType::USER_DATA;
139 std::shared_ptr<dht::crypto::PublicKey>
pk;
140 MSGPACK_DEFINE_MAP(
dev,
pk)
146 MSGPACK_DEFINE_MAP(
name)
151 static const constexpr dht::ValueType&
TYPE = dht::ValueType::USER_DATA;
155 std::map<dht::InfoHash, Contact>
peers;
162 using clock = std::chrono::system_clock;
175 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::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