4#include <unordered_map>
24 void setMyIdentity(
const std::string& uniqueId,
const std::string& username);
39 void bindPeer(
const std::string& peerId,
40 const std::string& uniqueId,
41 const std::string& username);
45 std::optional<std::string>
uniqueForPeer(
const std::string& peerId)
const;
46 std::optional<std::string>
peerForUnique(
const std::string& uniqueId)
const;
47 std::optional<std::string>
usernameForPeer(
const std::string& peerId)
const;
53 const std::unordered_map<std::string, PeerIdentity>&
all()
const
58 void erasePeer(
const std::string& peerId);
66 std::unordered_map<std::string, PeerIdentity>
byUnique_;
void setMyIdentity(const std::string &uniqueId, const std::string &username)
const std::string & myUniqueId() const
bool saveMyIdentityToFile() const
bool saveAddressBookToFile() const
std::optional< std::string > peerForUnique(const std::string &uniqueId) const
void bindPeer(const std::string &peerId, const std::string &uniqueId, const std::string &username)
void setUsernameForUnique(const std::string &uniqueId, const std::string &username)
std::optional< std::string > uniqueForPeer(const std::string &peerId) const
void erasePeer(const std::string &peerId)
std::string usernameForUnique(const std::string &uniqueId) const
static const char * kMeFile()
bool writeBookFile() const
std::optional< std::string > usernameForPeer(const std::string &peerId) const
bool loadAddressBookFromFile()
std::unordered_map< std::string, PeerIdentity > byUnique_
static const char * kBookFile()
std::unordered_map< std::string, std::string > peerToUnique_
const std::unordered_map< std::string, PeerIdentity > & all() const
const std::string & myUsername() const
bool loadMyIdentityFromFile()
std::vector< std::string > usernamesHistory