mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
completed status setting and getting for forums
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3351 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
9ff6849a55
commit
1ad871a3e9
@ -36,6 +36,9 @@
|
|||||||
|
|
||||||
#define RS_FORUMMSG_NEW 0x0010
|
#define RS_FORUMMSG_NEW 0x0010
|
||||||
|
|
||||||
|
#define FORUM_MSG_STATUS_MASK 0x000f
|
||||||
|
#define FORUM_MSG_STATUS_READ 0x0001
|
||||||
|
#define FORUM_MSG_STATUS_UNREADY_BY_USER 0x0002
|
||||||
|
|
||||||
class ForumInfo
|
class ForumInfo
|
||||||
{
|
{
|
||||||
@ -133,7 +136,8 @@ virtual bool getForumList(std::list<ForumInfo> &forumList) = 0;
|
|||||||
virtual bool getForumThreadList(std::string fId, std::list<ThreadInfoSummary> &msgs) = 0;
|
virtual bool getForumThreadList(std::string fId, std::list<ThreadInfoSummary> &msgs) = 0;
|
||||||
virtual bool getForumThreadMsgList(std::string fId, std::string pId, std::list<ThreadInfoSummary> &msgs) = 0;
|
virtual bool getForumThreadMsgList(std::string fId, std::string pId, std::list<ThreadInfoSummary> &msgs) = 0;
|
||||||
virtual bool getForumMessage(std::string fId, std::string mId, ForumMsgInfo &msg) = 0;
|
virtual bool getForumMessage(std::string fId, std::string mId, ForumMsgInfo &msg) = 0;
|
||||||
virtual bool setMessageStatus(const std::string& fId,const std::string& mId,const uint32_t status) = 0;
|
virtual bool setMessageStatus(const std::string& fId,const std::string& mId, const uint32_t status, const uint32_t statusMask) = 0;
|
||||||
|
virtual bool getMessageStatus(const std::string& fId, const std::string& mId, uint32_t& status, const uint32_t statusMask) = 0;
|
||||||
virtual bool ForumMessageSend(ForumMsgInfo &info) = 0;
|
virtual bool ForumMessageSend(ForumMsgInfo &info) = 0;
|
||||||
|
|
||||||
virtual bool forumSubscribe(std::string fId, bool subscribe) = 0;
|
virtual bool forumSubscribe(std::string fId, bool subscribe) = 0;
|
||||||
|
@ -266,16 +266,52 @@ bool p3Forums::ForumMessageSend(ForumMsgInfo &info)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
setMessageStatus(info.forumId, mId, FORUM_MSG_STATUS_READ);
|
return setMessageStatus(info.forumId, mId, FORUM_MSG_STATUS_READ, FORUM_MSG_STATUS_MASK);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool p3Forums::setMessageStatus(const std::string& fId,const std::string& mId,const uint32_t status, const uint32_t statusMask)
|
||||||
|
{
|
||||||
|
setReadStatus(fId, mId, (status & statusMask));
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool p3Forums::setMessageStatus(const std::string& fId,const std::string& mId,const uint32_t status)
|
bool p3Forums::getMessageStatus(const std::string& fId, const std::string& mId, uint32_t& status, uint32_t statusMask)
|
||||||
{
|
{
|
||||||
setReadStatus(fId, mId, status);
|
|
||||||
|
|
||||||
return true;
|
RsStackMutex stack(distribMtx);
|
||||||
|
|
||||||
|
std::list<RsForumReadStatus *>::iterator lit = mReadStatus.begin();
|
||||||
|
|
||||||
|
for(; lit != mReadStatus.end(); lit++)
|
||||||
|
{
|
||||||
|
|
||||||
|
if((*lit)->forumId == fId)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
std::map<std::string, uint32_t >::iterator mit;
|
||||||
|
|
||||||
|
if(lit == mReadStatus.end())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mit = (*lit)->msgReadStatus.find(mId);
|
||||||
|
|
||||||
|
if(mit != (*lit)->msgReadStatus.end())
|
||||||
|
{
|
||||||
|
status = (mit->second & statusMask);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -30,44 +30,7 @@
|
|||||||
#include "services/p3distrib.h"
|
#include "services/p3distrib.h"
|
||||||
#include "serialiser/rsforumitems.h"
|
#include "serialiser/rsforumitems.h"
|
||||||
|
|
||||||
#if 0
|
|
||||||
class RsForumGrp: public RsDistribGrp
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
RsForumGrp();
|
|
||||||
|
|
||||||
/* orig data (from RsDistribMsg)
|
|
||||||
* std::string grpId
|
|
||||||
*/
|
|
||||||
|
|
||||||
std::wstring name;
|
|
||||||
std::wstring desc;
|
|
||||||
};
|
|
||||||
|
|
||||||
class RsForumMsg: public RsDistribMsg
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
RsForumMsg();
|
|
||||||
|
|
||||||
/* orig data (from RsDistribMsg)
|
|
||||||
* std::string grpId
|
|
||||||
* std::string msgId
|
|
||||||
* std::string threadId
|
|
||||||
* std::string parentId
|
|
||||||
* time_t timestamp
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* new data */
|
|
||||||
std::wstring title;
|
|
||||||
std::wstring msg;
|
|
||||||
std::string srcId;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const uint32_t FORUM_MSG_STATUS_READ = 1;
|
|
||||||
|
|
||||||
class p3Forums: public p3GroupDistrib, public RsForums
|
class p3Forums: public p3GroupDistrib, public RsForums
|
||||||
{
|
{
|
||||||
@ -93,7 +56,8 @@ virtual bool getForumThreadMsgList(std::string fId, std::string tId, std::list<T
|
|||||||
virtual bool getForumMessage(std::string fId, std::string mId, ForumMsgInfo &msg);
|
virtual bool getForumMessage(std::string fId, std::string mId, ForumMsgInfo &msg);
|
||||||
virtual void setReadStatus(const std::string& forumId,const std::string& msgId,const uint32_t status);
|
virtual void setReadStatus(const std::string& forumId,const std::string& msgId,const uint32_t status);
|
||||||
virtual bool ForumMessageSend(ForumMsgInfo &info);
|
virtual bool ForumMessageSend(ForumMsgInfo &info);
|
||||||
virtual bool setMessageStatus(const std::string& fId, const std::string& mId,const uint32_t status);
|
virtual bool setMessageStatus(const std::string& fId, const std::string& mId, const uint32_t status, const uint32_t statusMask);
|
||||||
|
virtual bool getMessageStatus(const std::string& fId, const std::string& mId, uint32_t& status, const uint32_t statusMask);
|
||||||
|
|
||||||
virtual bool forumSubscribe(std::string fId, bool subscribe);
|
virtual bool forumSubscribe(std::string fId, bool subscribe);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user