added fallback for GXS GroupMessage UI to look into cached distant group data

This commit is contained in:
csoler 2018-06-26 22:20:02 +02:00
parent a5d1a154a4
commit 00dfa0f3c2
No known key found for this signature in database
GPG key ID: 7BCA522266C0804C
10 changed files with 96 additions and 10 deletions

View file

@ -99,6 +99,7 @@ virtual bool getPostData(const uint32_t &token, std::vector<RsGxsChannelPost> &p
virtual TurtleRequestId turtleSearchRequest(const std::string& match_string)=0;
virtual bool retrieveDistantSearchResults(TurtleRequestId req, std::map<RsGxsGroupId, RsGxsGroupSummary> &results) =0;
virtual bool clearDistantSearchResults(TurtleRequestId req)=0;
virtual bool retrieveDistantGroup(const RsGxsGroupId& group_id,RsGxsChannelGroup& distant_group)=0;
//////////////////////////////////////////////////////////////////////////////
virtual void setMessageReadStatus(uint32_t& token, const RsGxsGrpMsgIdPair& msgId, bool read) = 0;

View file

@ -40,6 +40,8 @@
*/
struct RsGxsGroupSummary
{
RsGxsGroupSummary() : publish_ts(0), number_of_messages(0),last_message_ts(0),sign_flags(0),popularity(0) {}
RsGxsGroupId group_id ;
std::string group_name ;
@ -49,6 +51,8 @@ struct RsGxsGroupSummary
time_t publish_ts ;
uint32_t number_of_messages ;
time_t last_message_ts ;
uint32_t sign_flags ;
uint32_t popularity ;
};

View file

@ -69,18 +69,18 @@ struct RsGroupMetaData : RsSerializable
RsGxsGroupId mGroupId;
std::string mGroupName;
uint32_t mGroupFlags; // Combination of FLAG_PRIVACY_PRIVATE | FLAG_PRIVACY_RESTRICTED | FLAG_PRIVACY_PUBLIC
uint32_t mSignFlags; // Combination of RSGXS_GROUP_SIGN_PUBLISH_MASK & RSGXS_GROUP_SIGN_AUTHOR_MASK.
uint32_t mGroupFlags; // Combination of FLAG_PRIVACY_PRIVATE | FLAG_PRIVACY_RESTRICTED | FLAG_PRIVACY_PUBLIC: diffusion
uint32_t mSignFlags; // Combination of RSGXS_GROUP_SIGN_PUBLISH_MASK & RSGXS_GROUP_SIGN_AUTHOR_MASK, i.e. what signatures are required for parent and child msgs
time_t mPublishTs; // Mandatory.
RsGxsId mAuthorId; // Optional.
RsGxsId mAuthorId; // Author of the group. Left to "000....0" if anonymous
// for circles
RsGxsCircleId mCircleId;
uint32_t mCircleType;
RsGxsCircleId mCircleId; // Id of the circle to which the group is restricted
uint32_t mCircleType; // combination of CIRCLE_TYPE_{ PUBLIC,EXTERNAL,YOUR_FRIENDS_ONLY,LOCAL,EXT_SELF,YOUR_EYES_ONLY }
// other stuff.
uint32_t mAuthenFlags;
uint32_t mAuthenFlags; // Actually not used yet.
RsGxsGroupId mParentGrpId;
// BELOW HERE IS LOCAL DATA, THAT IS NOT FROM MSG.