RetroShare/libretroshare/src/services/p3posted.h

147 lines
5.7 KiB
C
Raw Normal View History

2018-05-29 15:54:27 -04:00
/*******************************************************************************
* libretroshare/src/services: p3posted.h *
* *
* libretroshare: retroshare core library *
* *
* Copyright 2012-2013 Robert Fernie <retroshare@lunamutt.com> *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public License *
* along with this program. If not, see <https://www.gnu.org/licenses/>. *
* *
*******************************************************************************/
#ifndef P3_POSTED_SERVICE_HEADER
#define P3_POSTED_SERVICE_HEADER
#include "retroshare/rsposted.h"
#include "services/p3postbase.h"
#include <retroshare/rsidentity.h>
#include <map>
#include <string>
#include <list>
/*
*
*/
class p3Posted: public p3PostBase, public RsPosted
{
2020-02-14 17:30:52 -05:00
public:
p3Posted(RsGeneralDataService* gds, RsNetworkExchangeService* nes, RsGixs* gixs);
2020-02-14 17:30:52 -05:00
virtual RsServiceInfo getServiceInfo();
2020-02-14 17:30:52 -05:00
protected:
virtual void notifyChanges(std::vector<RsGxsNotify*>& changes)
{
return p3PostBase::notifyChanges(changes);
}
public:
#ifdef TO_REMOVE
virtual void receiveHelperChanges(std::vector<RsGxsNotify*>& changes)
{
return RsGxsIfaceHelper::receiveChanges(changes);
}
#endif
bool getBoardsInfo(const std::list<RsGxsGroupId>& boardsIds,
std::vector<RsPostedGroup>& groupsInfo ) override;
2020-02-14 17:30:52 -05:00
bool getBoardAllContent(const RsGxsGroupId& groupId,
2020-04-27 11:24:36 -04:00
std::vector<RsPostedPost>& posts,
std::vector<RsGxsComment>& comments,
std::vector<RsGxsVote>& votes ) override;
bool getBoardContent(const RsGxsGroupId& groupId,
2020-04-27 11:24:36 -04:00
const std::set<RsGxsMessageId>& contentsIds,
std::vector<RsPostedPost>& posts,
std::vector<RsGxsComment>& comments,
std::vector<RsGxsVote>& votes ) override;
2020-02-14 17:30:52 -05:00
bool getBoardsSummaries(std::list<RsGroupMetaData>& groupInfo) override;
bool getBoardStatistics(const RsGxsGroupId& boardId,GxsGroupStatistic& stat) override;
2020-04-04 16:54:54 -04:00
bool getBoardsServiceStatistics(GxsServiceStatistic& stat) override;
bool editBoard(RsPostedGroup& board) override;
bool createBoard(RsPostedGroup& board) override;
2020-04-27 11:24:36 -04:00
virtual bool getGroupData(const uint32_t &token, std::vector<RsPostedGroup> &groups) override;
virtual bool getPostData(const uint32_t &token, std::vector<RsPostedPost> &posts, std::vector<RsGxsComment> &cmts, std::vector<RsGxsVote> &vots) override;
virtual bool getPostData(const uint32_t &token, std::vector<RsPostedPost> &posts, std::vector<RsGxsComment> &cmts) override;
virtual bool getPostData(const uint32_t &token, std::vector<RsPostedPost> &posts) override;
//Not currently used
//virtual bool getRelatedPosts(const uint32_t &token, std::vector<RsPostedPost> &posts);
virtual bool createGroup(uint32_t &token, RsPostedGroup &group);
virtual bool createPost(uint32_t &token, RsPostedPost &post);
virtual bool updateGroup(uint32_t &token, RsPostedGroup &group);
virtual bool groupShareKeys(const RsGxsGroupId &group, const std::set<RsPeerId>& peers);
//////////////////////////////////////////////////////////////////////////////
// WRAPPERS due to the separate Interface.
virtual void setMessageReadStatus(uint32_t& token, const RsGxsGrpMsgIdPair& msgId, bool read)
{
return p3PostBase::setMessageReadStatus(token, msgId, read);
}
/** Comment service - Provide RsGxsCommentService -
* redirect to p3GxsCommentService */
virtual bool getCommentData(uint32_t token, std::vector<RsGxsComment> &msgs)
{ return mCommentService->getGxsCommentData(token, msgs); }
virtual bool getRelatedComments( uint32_t token,
std::vector<RsGxsComment> &msgs )
{ return mCommentService->getGxsRelatedComments(token, msgs); }
virtual bool createNewComment(uint32_t &token, const RsGxsComment &msg) override
{
return mCommentService->createGxsComment(token, msg);
}
virtual bool createComment(RsGxsComment& msg) override
{
uint32_t token;
return mCommentService->createGxsComment(token, msg) && waitToken(token) == RsTokenService::COMPLETE ;
}
Fix Warnings for 'RsGxsChannels::createComment' and 'RsGxsChannels::createVote' hides overloaded virtual function In file included from temp/moc/moc_GxsChannelGroupItem.cpp:9: In file included from temp/moc/../../../../../trunk/retroshare-gui/src/ gui/feeds/GxsChannelGroupItem.h:24: ../../../trunk/libretroshare/src/retroshare/rsgxschannels.h:116:15: warning: 'RsGxsChannels::createComment' hides overloaded virtual function [-Woverloaded-virtual] virtual bool createComment(RsGxsComment& comment) = 0; ^ ../../../trunk/libretroshare/src/retroshare/rsgxscommon.h:172:15: note: hidden overloaded virtual function 'RsGxsCommentService::createComment' declared here: different number of parameters (2 vs 1) virtual bool createComment(uint32_t &token, RsGxsComment &comment) = 0; ^ In file included from temp/moc/moc_GxsChannelGroupItem.cpp:9: In file included from temp/moc/../../../../../trunk/retroshare-gui/src/ gui/feeds/GxsChannelGroupItem.h:24: ../../../trunk/libretroshare/src/retroshare/rsgxschannels.h:132:15: warning: 'RsGxsChannels::createVote' hides overloaded virtual function [-Woverloaded-virtual] virtual bool createVote(RsGxsVote& vote) = 0; ^ ../../../trunk/libretroshare/src/retroshare/rsgxscommon.h:173:15: note: hidden overloaded virtual function 'RsGxsCommentService::createVote' declared here: different number of parameters (2 vs 1) virtual bool createVote(uint32_t &token, RsGxsVote &vote) = 0; ^ In file included from temp/moc/moc_GxsChannelPostItem.cpp:9: In file included from temp/moc/../../../../../trunk/retroshare-gui/src/ gui/feeds/GxsChannelPostItem.h:26: ../../../trunk/libretroshare/src/retroshare/rsgxschannels.h:116:15: warning: 'RsGxsChannels::createComment' hides overloaded virtual function [-Woverloaded-virtual] virtual bool createComment(RsGxsComment& comment) = 0; ^ ../../../trunk/libretroshare/src/retroshare/rsgxscommon.h:172:15: note: hidden overloaded virtual function 'RsGxsCommentService::createComment' declared here: different number of parameters (2 vs 1) virtual bool createComment(uint32_t &token, RsGxsComment &comment) = 0; ^ In file included from temp/moc/moc_GxsChannelPostItem.cpp:9: In file included from temp/moc/../../../../../trunk/retroshare-gui/src/ gui/feeds/GxsChannelPostItem.h:26: ../../../trunk/libretroshare/src/retroshare/rsgxschannels.h:132:15: warning: 'RsGxsChannels::createVote' hides overloaded virtual function [-Woverloaded-virtual] virtual bool createVote(RsGxsVote& vote) = 0; ^ ../../../trunk/libretroshare/src/retroshare/rsgxscommon.h:173:15: note: hidden overloaded virtual function 'RsGxsCommentService::createVote' declared here: different number of parameters (2 vs 1) virtual bool createVote(uint32_t &token, RsGxsVote &vote) = 0; ^
2019-02-14 15:58:33 -05:00
virtual bool createNewVote(uint32_t &token, RsGxsVote &msg)
{
return mCommentService->createGxsVote(token, msg);
}
virtual bool acknowledgeComment(
uint32_t token, std::pair<RsGxsGroupId, RsGxsMessageId>& msgId )
{ return acknowledgeMsg(token, msgId); }
virtual bool acknowledgeVote(
uint32_t token, std::pair<RsGxsGroupId, RsGxsMessageId>& msgId )
{
if (mCommentService->acknowledgeVote(token, msgId)) return true;
return acknowledgeMsg(token, msgId);
}
};
#endif