From d6ccd75a7f92871bc99926e0342135b770867cd9 Mon Sep 17 00:00:00 2001 From: csoler Date: Sat, 3 Jul 2021 00:31:09 +0200 Subject: [PATCH] started documenting rsHistory.h to bring history to JSON api --- libretroshare/src/retroshare/rshistory.h | 43 +++++++++++++++++++++--- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/libretroshare/src/retroshare/rshistory.h b/libretroshare/src/retroshare/rshistory.h index f8eb7ecaa..2032c3d59 100644 --- a/libretroshare/src/retroshare/rshistory.h +++ b/libretroshare/src/retroshare/rshistory.h @@ -41,7 +41,7 @@ static const uint32_t RS_HISTORY_TYPE_PRIVATE = 1 ; static const uint32_t RS_HISTORY_TYPE_LOBBY = 2 ; static const uint32_t RS_HISTORY_TYPE_DISTANT = 3 ; -class HistoryMsg +class HistoryMsg: RsSerializable { public: HistoryMsg() @@ -52,7 +52,18 @@ public: recvTime = 0; } -public: + virtual void serial_process(RsGenericSerializer::SerializeJob j, RsGenericSerializer::SerializeContext& ctx) override + { + RS_SERIAL_PROCESS(msgId); + RS_SERIAL_PROCESS(chatPeerId); + RS_SERIAL_PROCESS(incoming); + RS_SERIAL_PROCESS(peerId); + RS_SERIAL_PROCESS(peerName); + RS_SERIAL_PROCESS(sendTime); + RS_SERIAL_PROCESS(recvTime); + RS_SERIAL_PROCESS(message); + } + uint32_t msgId; RsPeerId chatPeerId; bool incoming; @@ -71,10 +82,34 @@ class RsHistory { public: virtual bool chatIdToVirtualPeerId(const ChatId &chat_id, RsPeerId &peer_id) = 0; - virtual bool getMessages(const ChatId &chatPeerId, std::list &msgs, uint32_t loadCount) = 0; + + /*! + * @brief Retrieves the history of messages for a given chatId + * @jsonapi{development} + * @param[in] chatPeerId Chat Id for which the history needs to be retrieved + * @param[out] msgs retrieved messages + * @param[in] loadCount maximum number of messages to get + * @return true if messages can be retrieved, false otherwise. + */ + virtual bool getMessages(const ChatId& chatPeerId, std::list &msgs, uint32_t loadCount) = 0; + + /*! + * @brief Retrieves a specific message from the history + * @jsonapi{development} + * @param[in] msgId Id of the message to get + * @param[out] msg retrieved message + * @return true if message can be retrieved, false otherwise. + */ virtual bool getMessage(uint32_t msgId, HistoryMsg &msg) = 0; + virtual void removeMessages(const std::list &msgIds) = 0; - virtual void clear(const ChatId &chatPeerId) = 0; + + /*! + * @brief clears the message history for a given chat peer + * @jsonapi{development} + * @param[in] chatPeerID Id of the chat/peer for which the history needs to be wiped + */ + virtual void clear(const ChatId &chatPeerId) = 0; virtual bool getEnable(uint32_t chat_type) = 0; virtual void setEnable(uint32_t chat_type, bool enable) = 0;