From d647b0cc7efbaab31efe8e21066fc4fa0647a65e Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sat, 24 Nov 2018 19:17:21 +0100 Subject: Add change avatar method --- include/dchat/Room.hpp | 13 +++++++++++++ include/dchat/User.hpp | 1 + 2 files changed, 14 insertions(+) (limited to 'include') diff --git a/include/dchat/Room.hpp b/include/dchat/Room.hpp index a39f2f0..9eef4de 100644 --- a/include/dchat/Room.hpp +++ b/include/dchat/Room.hpp @@ -39,6 +39,8 @@ namespace dchat // Returns null if group doesn't exist in room std::shared_ptr getGroupById(const odhtdb::DataView groupId); void setLocalUser(std::shared_ptr user, std::shared_ptr keyPair); + void setAvatarUrl(const std::string &url); + void setNickname(const std::string &nickname); void publishMessage(const std::string &msg); Rooms *rooms; @@ -71,6 +73,15 @@ namespace dchat std::string newNickname; }; + struct UserChangeAvatarRequest + { + std::shared_ptr room; + std::shared_ptr user; + uint32_t timestampSeconds; + bool loadedFromCache; + std::string url; + }; + struct RoomChangeNameRequest { std::shared_ptr room; @@ -103,6 +114,7 @@ namespace dchat using RoomAddUserCallbackFunc = std::function; using RoomAddMessageCallbackFunc = std::function; using UserChangeNicknameCallbackFunc = std::function; + using UserChangeAvatarCallbackFunc = std::function; using ChangeRoomNameCallbackFunc = std::function; using ReceiveInviteUserCallbackFunc = std::function; struct RoomCallbackFuncs @@ -112,6 +124,7 @@ namespace dchat RoomAddUserCallbackFunc addUserCallbackFunc; RoomAddMessageCallbackFunc addMessageCallbackFunc; UserChangeNicknameCallbackFunc userChangeNicknameCallbackFunc; + UserChangeAvatarCallbackFunc userChangeAvatarCallbackFunc; ChangeRoomNameCallbackFunc changeRoomNameCallbackFunc; ReceiveInviteUserCallbackFunc receiveInviteUserCallbackFunc; }; diff --git a/include/dchat/User.hpp b/include/dchat/User.hpp index 245197f..9d22cb3 100644 --- a/include/dchat/User.hpp +++ b/include/dchat/User.hpp @@ -14,6 +14,7 @@ namespace dchat User(const odhtdb::Signature::PublicKey &_publicKey) : publicKey(_publicKey), userdata(nullptr) {} const odhtdb::Signature::PublicKey publicKey; std::string nickname; + std::string avatarUrl; std::vector> groups; void *userdata; }; -- cgit v1.2.3