mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-08-18 19:08:35 -04:00
changes on librs side for author id refactoring done
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-IdCleaning@7157 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
5c36c8f4b6
commit
cbb2636c90
23 changed files with 109 additions and 93 deletions
|
@ -278,12 +278,16 @@ RsGxsGrpMetaData* RsDataService::locked_getGrpMeta(RetroCursor &c)
|
|||
grpMeta->mGroupId = tempId;
|
||||
|
||||
|
||||
c.getString(COL_IDENTITY, grpMeta->mAuthorId);
|
||||
|
||||
c.getString(COL_IDENTITY, tempId);
|
||||
grpMeta->mAuthorId = tempId;
|
||||
c.getString(COL_GRP_NAME, grpMeta->mGroupName);
|
||||
c.getString(COL_ORIG_GRP_ID, tempId);
|
||||
grpMeta->mOrigGrpId = tempId;
|
||||
c.getString(COL_GRP_SERV_STRING, grpMeta->mServiceString);
|
||||
c.getString(COL_HASH, grpMeta->mHash);
|
||||
std::string temp;
|
||||
c.getString(COL_HASH, temp);
|
||||
grpMeta->mHash = temp;
|
||||
grpMeta->mSignFlags = c.getInt32(COL_GRP_SIGN_FLAGS);
|
||||
|
||||
grpMeta->mPublishTs = c.getInt32(COL_TIME_STAMP);
|
||||
|
@ -402,10 +406,13 @@ RsGxsMsgMetaData* RsDataService::locked_getMsgMeta(RetroCursor &c)
|
|||
|
||||
c.getString(COL_ORIG_MSG_ID, temp);
|
||||
msgMeta->mOrigMsgId = temp;
|
||||
c.getString(COL_IDENTITY, msgMeta->mAuthorId);
|
||||
c.getString(COL_IDENTITY, temp);
|
||||
msgMeta->mAuthorId = temp;
|
||||
c.getString(COL_MSG_NAME, msgMeta->mMsgName);
|
||||
c.getString(COL_MSG_SERV_STRING, msgMeta->mServiceString);
|
||||
c.getString(COL_HASH, msgMeta->mHash);
|
||||
|
||||
c.getString(COL_HASH, temp);
|
||||
msgMeta->mHash = temp;
|
||||
msgMeta->recvTS = c.getInt32(COL_MSG_RECV_TS);
|
||||
|
||||
offset = 0;
|
||||
|
@ -522,7 +529,7 @@ int RsDataService::storeMessage(std::map<RsNxsMsg *, RsGxsMsgMetaData *> &msg)
|
|||
cv.put(KEY_MSG_ID, msgMetaPtr->mMsgId.toStdString());
|
||||
cv.put(KEY_GRP_ID, msgMetaPtr->mGroupId.toStdString());
|
||||
cv.put(KEY_NXS_SERV_STRING, msgMetaPtr->mServiceString);
|
||||
cv.put(KEY_NXS_HASH, msgMetaPtr->mHash);
|
||||
cv.put(KEY_NXS_HASH, msgMetaPtr->mHash.toStdString());
|
||||
cv.put(KEY_RECV_TS, (int32_t)msgMetaPtr->recvTS);
|
||||
|
||||
|
||||
|
@ -530,7 +537,7 @@ int RsDataService::storeMessage(std::map<RsNxsMsg *, RsGxsMsgMetaData *> &msg)
|
|||
offset = 0;
|
||||
msgMetaPtr->signSet.SetTlv(signSetData, msgMetaPtr->signSet.TlvSize(), &offset);
|
||||
cv.put(KEY_SIGN_SET, msgMetaPtr->signSet.TlvSize(), signSetData);
|
||||
cv.put(KEY_NXS_IDENTITY, msgMetaPtr->mAuthorId);
|
||||
cv.put(KEY_NXS_IDENTITY, msgMetaPtr->mAuthorId.toStdString());
|
||||
|
||||
|
||||
cv.put(KEY_NXS_FLAGS, (int32_t) msgMetaPtr->mMsgFlags);
|
||||
|
@ -631,11 +638,11 @@ int RsDataService::storeGroup(std::map<RsNxsGrp *, RsGxsGrpMetaData *> &grp)
|
|||
cv.put(KEY_GRP_ORIGINATOR, grpMetaPtr->mOriginator.toStdString());
|
||||
cv.put(KEY_GRP_AUTHEN_FLAGS, (int32_t)grpMetaPtr->mAuthenFlags);
|
||||
cv.put(KEY_PARENT_GRP_ID, grpMetaPtr->mParentGrpId.toStdString());
|
||||
cv.put(KEY_NXS_HASH, grpMetaPtr->mHash);
|
||||
cv.put(KEY_NXS_HASH, grpMetaPtr->mHash.toStdString());
|
||||
cv.put(KEY_RECV_TS, (int32_t)grpMetaPtr->mRecvTS);
|
||||
|
||||
if(! (grpMetaPtr->mAuthorId.empty()) ){
|
||||
cv.put(KEY_NXS_IDENTITY, grpMetaPtr->mAuthorId);
|
||||
if(! (grpMetaPtr->mAuthorId.isNull()) ){
|
||||
cv.put(KEY_NXS_IDENTITY, grpMetaPtr->mAuthorId.toStdString());
|
||||
}
|
||||
|
||||
offset = 0;
|
||||
|
@ -723,10 +730,10 @@ int RsDataService::updateGroup(std::map<RsNxsGrp *, RsGxsGrpMetaData *> &grp)
|
|||
cv.put(KEY_GRP_INTERNAL_CIRCLE, grpMetaPtr->mInternalCircle);
|
||||
cv.put(KEY_GRP_ORIGINATOR, grpMetaPtr->mOriginator.toStdString());
|
||||
cv.put(KEY_GRP_AUTHEN_FLAGS, (int32_t)grpMetaPtr->mAuthenFlags);
|
||||
cv.put(KEY_NXS_HASH, grpMetaPtr->mHash);
|
||||
cv.put(KEY_NXS_HASH, grpMetaPtr->mHash.toStdString());
|
||||
|
||||
if(! (grpMetaPtr->mAuthorId.empty()) ){
|
||||
cv.put(KEY_NXS_IDENTITY, grpMetaPtr->mAuthorId);
|
||||
if(! (grpMetaPtr->mAuthorId.isNull()) ){
|
||||
cv.put(KEY_NXS_IDENTITY, grpMetaPtr->mAuthorId.toStdString());
|
||||
}
|
||||
|
||||
offset = 0;
|
||||
|
|
|
@ -421,7 +421,7 @@ int RsGenExchange::createGroupSignatures(RsTlvKeySignatureSet& signSet, RsTlvBin
|
|||
PrivacyBitPos pos = GRP_OPTION_BITS;
|
||||
|
||||
// Check required permissions, and allow them to sign it - if they want too - as well!
|
||||
if ((!grpMeta.mAuthorId.empty()) || checkAuthenFlag(pos, author_flag))
|
||||
if ((!grpMeta.mAuthorId.isNull()) || checkAuthenFlag(pos, author_flag))
|
||||
{
|
||||
needIdentitySign = true;
|
||||
std::cerr << "Needs Identity sign! (Service Flags)";
|
||||
|
@ -536,7 +536,7 @@ int RsGenExchange::createMsgSignatures(RsTlvKeySignatureSet& signSet, RsTlvBinar
|
|||
std::cerr << std::endl;
|
||||
}
|
||||
|
||||
if (!msgMeta.mAuthorId.empty())
|
||||
if (!msgMeta.mAuthorId.isNull())
|
||||
{
|
||||
needIdentitySign = true;
|
||||
std::cerr << "Needs Identity sign! (AuthorId Exists)";
|
||||
|
@ -690,7 +690,7 @@ int RsGenExchange::createMessage(RsNxsMsg* msg)
|
|||
// get hash of msg data to create msg id
|
||||
pqihash hash;
|
||||
hash.addData(allMsgData, allMsgDataLen);
|
||||
std::string hashId;
|
||||
RsFileHash hashId;
|
||||
hash.Complete(hashId);
|
||||
msg->msgId = hashId;
|
||||
|
||||
|
@ -746,7 +746,7 @@ int RsGenExchange::validateMsg(RsNxsMsg *msg, const uint32_t& grpFlag, RsTlvSecu
|
|||
needPublishSign = true;
|
||||
|
||||
// Check required permissions, if they have signed it anyway - we need to validate it.
|
||||
if ((checkAuthenFlag(pos, author_flag)) || (!msg->metaData->mAuthorId.empty()))
|
||||
if ((checkAuthenFlag(pos, author_flag)) || (!msg->metaData->mAuthorId.isNull()))
|
||||
needIdentitySign = true;
|
||||
|
||||
|
||||
|
@ -855,7 +855,7 @@ int RsGenExchange::validateGrp(RsNxsGrp* grp, RsTlvSecurityKeySet& grpKeySet)
|
|||
PrivacyBitPos pos = GRP_OPTION_BITS;
|
||||
|
||||
// Check required permissions, and allow them to sign it - if they want too - as well!
|
||||
if (!(metaData.mAuthorId.empty()) || checkAuthenFlag(pos, author_flag))
|
||||
if (!(metaData.mAuthorId.isNull()) || checkAuthenFlag(pos, author_flag))
|
||||
{
|
||||
needIdentitySign = true;
|
||||
std::cerr << "Needs Identity sign! (Service Flags)";
|
||||
|
@ -2220,7 +2220,7 @@ void RsGenExchange::processRecvdData()
|
|||
}
|
||||
|
||||
|
||||
void RsGenExchange::computeHash(const RsTlvBinaryData& data, std::string& hash)
|
||||
void RsGenExchange::computeHash(const RsTlvBinaryData& data, RsFileHash& hash)
|
||||
{
|
||||
pqihash pHash;
|
||||
pHash.addData(data.bin_data, data.bin_len);
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
#include "retroshare/rsgxscircles.h"
|
||||
|
||||
#include "serialiser/rstlvkeys.h"
|
||||
|
||||
#include "retroshare/rsids.h"
|
||||
/*!
|
||||
* GIXP: General Identity Exchange Service.
|
||||
*
|
||||
|
@ -98,7 +98,6 @@
|
|||
|
||||
typedef RsPeerId PeerId; // SHOULD BE REMOVED => RsPeerId (SSLID)
|
||||
typedef PGPIdType RsPgpId;
|
||||
typedef std::string RsGxsId;
|
||||
|
||||
//
|
||||
//// External Interface -
|
||||
|
|
|
@ -42,7 +42,7 @@ uint32_t RsGxsGrpMetaData::serial_size()
|
|||
s += GetTlvStringSize(mGroupName);
|
||||
s += 4;
|
||||
s += 4;
|
||||
s += GetTlvStringSize(mAuthorId);
|
||||
s += mAuthorId.serial_size();
|
||||
s += GetTlvStringSize(mServiceString);
|
||||
s += signSet.TlvSize();
|
||||
s += keys.TlvSize();
|
||||
|
@ -112,7 +112,7 @@ bool RsGxsGrpMetaData::serialise(void *data, uint32_t &pktsize)
|
|||
ok &= setRawUInt32(data, tlvsize, &offset, mPublishTs);
|
||||
ok &= setRawUInt32(data, tlvsize, &offset, mCircleType);
|
||||
ok &= setRawUInt32(data, tlvsize, &offset, mAuthenFlags);
|
||||
ok &= SetTlvString(data, tlvsize, &offset, 0, mAuthorId);
|
||||
ok &= mAuthorId.serialise(data, tlvsize, offset);
|
||||
ok &= SetTlvString(data, tlvsize, &offset, 0, mServiceString);
|
||||
ok &= SetTlvString(data, tlvsize, &offset, 0, mCircleId);
|
||||
|
||||
|
@ -143,7 +143,7 @@ bool RsGxsGrpMetaData::deserialise(void *data, uint32_t &pktsize)
|
|||
ok &= getRawUInt32(data, pktsize, &offset, &mPublishTs);
|
||||
ok &= getRawUInt32(data, pktsize, &offset, &mCircleType);
|
||||
ok &= getRawUInt32(data, pktsize, &offset, &mAuthenFlags);
|
||||
ok &= GetTlvString(data, pktsize, &offset, 0, mAuthorId);
|
||||
ok &= mAuthorId.deserialise(data, pktsize, offset);
|
||||
ok &= GetTlvString(data, pktsize, &offset, 0, mServiceString);
|
||||
ok &= GetTlvString(data, pktsize, &offset, 0, mCircleId);
|
||||
ok &= signSet.GetTlv(data, pktsize, &offset);
|
||||
|
@ -175,7 +175,7 @@ uint32_t RsGxsMsgMetaData::serial_size()
|
|||
s += mThreadId.serial_size();
|
||||
s += mParentId.serial_size();
|
||||
s += mOrigMsgId.serial_size();
|
||||
s += GetTlvStringSize(mAuthorId);
|
||||
s += mAuthorId.serial_size();
|
||||
|
||||
s += signSet.TlvSize();
|
||||
s += GetTlvStringSize(mMsgName);
|
||||
|
@ -232,7 +232,7 @@ bool RsGxsMsgMetaData::serialise(void *data, uint32_t *size)
|
|||
ok &= mThreadId.serialise(data, *size, offset);
|
||||
ok &= mParentId.serialise(data, *size, offset);
|
||||
ok &= mOrigMsgId.serialise(data, *size, offset);
|
||||
ok &= SetTlvString(data, *size, &offset, 0, mAuthorId);
|
||||
ok &= mAuthorId.serialise(data, *size, offset);
|
||||
|
||||
ok &= signSet.SetTlv(data, *size, &offset);
|
||||
ok &= SetTlvString(data, *size, &offset, 0, mMsgName);
|
||||
|
@ -259,7 +259,7 @@ bool RsGxsMsgMetaData::deserialise(void *data, uint32_t *size)
|
|||
ok &= mThreadId.deserialise(data, *size, offset);
|
||||
ok &= mParentId.deserialise(data, *size, offset);
|
||||
ok &= mOrigMsgId.deserialise(data, *size, offset);
|
||||
ok &= GetTlvString(data, *size, &offset, 0, mAuthorId);
|
||||
ok &= mAuthorId.deserialise(data, *size, offset);
|
||||
|
||||
ok &= signSet.GetTlv(data, *size, &offset);
|
||||
ok &= GetTlvString(data, *size, &offset, 0, mMsgName);
|
||||
|
|
|
@ -52,7 +52,7 @@ public:
|
|||
uint32_t mGroupFlags;
|
||||
uint32_t mPublishTs;
|
||||
uint32_t mSignFlags;
|
||||
std::string mAuthorId;
|
||||
RsGxsId mAuthorId;
|
||||
|
||||
std::string mCircleId;
|
||||
uint32_t mCircleType;
|
||||
|
@ -99,7 +99,7 @@ public:
|
|||
RsGxsMessageId mThreadId;
|
||||
RsGxsMessageId mParentId;
|
||||
RsGxsMessageId mOrigMsgId;
|
||||
std::string mAuthorId;
|
||||
RsGxsId mAuthorId;
|
||||
|
||||
RsTlvKeySignatureSet signSet;
|
||||
|
||||
|
|
|
@ -1521,7 +1521,7 @@ void RsGxsNetService::locked_genReqMsgTransaction(NxsTransaction* tr)
|
|||
|
||||
if(msgIdSet.find(msgId) == msgIdSet.end()){
|
||||
|
||||
bool noAuthor = syncItem->authorId.empty();
|
||||
bool noAuthor = syncItem->authorId.isNull();
|
||||
if(mReputations->haveReputation(syncItem->authorId) || noAuthor)
|
||||
{
|
||||
|
||||
|
@ -1657,7 +1657,7 @@ void RsGxsNetService::locked_genReqGrpTransaction(NxsTransaction* tr)
|
|||
if(!haveItem || (haveItem && latestVersion) ){
|
||||
|
||||
// determine if you need to check reputation
|
||||
bool checkRep = !grpSyncItem->authorId.empty();
|
||||
bool checkRep = !grpSyncItem->authorId.isNull();
|
||||
|
||||
// check if you have reputation, if you don't then
|
||||
// place in holding pen
|
||||
|
|
|
@ -47,7 +47,7 @@ bool AuthorPending::expired() const
|
|||
}
|
||||
|
||||
bool AuthorPending::getAuthorRep(GixsReputation& rep,
|
||||
const std::string& authorId, const RsPeerId& peerId)
|
||||
const RsGxsId& authorId, const RsPeerId& peerId)
|
||||
{
|
||||
if(mRep->haveReputation(authorId))
|
||||
{
|
||||
|
@ -281,7 +281,7 @@ int GrpCircleIdRequestVetting::getType() const
|
|||
}
|
||||
|
||||
MsgIdCircleVet::MsgIdCircleVet(const RsGxsMessageId& msgId,
|
||||
const std::string& authorId)
|
||||
const RsGxsId& authorId)
|
||||
: mMsgId(msgId), mAuthorId(authorId) {
|
||||
}
|
||||
|
||||
|
|
|
@ -141,7 +141,7 @@ protected:
|
|||
* @param authorId reputation to get
|
||||
* @return true if successfully retrieve repution
|
||||
*/
|
||||
bool getAuthorRep(GixsReputation& rep, const std::string& authorId, const RsPeerId& peerId);
|
||||
bool getAuthorRep(GixsReputation& rep, const RsGxsId& authorId, const RsPeerId& peerId);
|
||||
|
||||
private:
|
||||
|
||||
|
@ -158,7 +158,7 @@ public:
|
|||
|
||||
RsGxsMessageId mMsgId;
|
||||
RsGxsGroupId mGrpId;
|
||||
std::string mAuthorId;
|
||||
RsGxsId mAuthorId;
|
||||
bool mPassedVetting;
|
||||
|
||||
};
|
||||
|
@ -171,7 +171,7 @@ public:
|
|||
GrpAuthEntry();
|
||||
|
||||
RsGxsGroupId mGrpId;
|
||||
std::string mAuthorId;
|
||||
RsGxsId mAuthorId;
|
||||
bool mPassedVetting;
|
||||
};
|
||||
|
||||
|
@ -218,10 +218,10 @@ public:
|
|||
class MsgIdCircleVet
|
||||
{
|
||||
public:
|
||||
MsgIdCircleVet(const RsGxsMessageId& grpId, const std::string& authorId);
|
||||
MsgIdCircleVet(const RsGxsMessageId& grpId, const RsGxsId& authorId);
|
||||
|
||||
RsGxsMessageId mMsgId;
|
||||
std::string mAuthorId;
|
||||
RsGxsId mAuthorId;
|
||||
};
|
||||
|
||||
class GrpItemCircleVet
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
|
||||
typedef GXSGroupId RsGxsGroupId;
|
||||
typedef Sha1CheckSum RsGxsMessageId;
|
||||
typedef GXSId RsGxsId;
|
||||
|
||||
typedef std::map<RsGxsGroupId, std::vector<RsGxsMessageId> > GxsMsgIdResult;
|
||||
typedef std::pair<RsGxsGroupId, RsGxsMessageId> RsGxsGrpMsgIdPair;
|
||||
|
@ -60,7 +61,7 @@ public:
|
|||
uint32_t mSignFlags; // Combination of RSGXS_GROUP_SIGN_PUBLISH_MASK & RSGXS_GROUP_SIGN_AUTHOR_MASK.
|
||||
|
||||
time_t mPublishTs; // Mandatory.
|
||||
std::string mAuthorId; // Optional.
|
||||
RsGxsId mAuthorId; // Optional.
|
||||
|
||||
// for circles
|
||||
std::string mCircleId;
|
||||
|
@ -109,7 +110,7 @@ public:
|
|||
RsGxsMessageId mParentId;
|
||||
RsGxsMessageId mOrigMsgId;
|
||||
|
||||
std::string mAuthorId;
|
||||
RsGxsId mAuthorId;
|
||||
|
||||
std::string mMsgName;
|
||||
time_t mPublishTs;
|
||||
|
@ -172,7 +173,7 @@ public:
|
|||
// expand as support is added for other utypes
|
||||
enum UpdateType { DESCRIPTION, NAME };
|
||||
|
||||
RsGxsGroupUpdateMeta(const std::string& groupId) : mGroupId(groupId) {}
|
||||
RsGxsGroupUpdateMeta(const RsGxsGroupId& groupId) : mGroupId(groupId) {}
|
||||
|
||||
typedef std::map<UpdateType, std::string> GxsMetaUpdate;
|
||||
|
||||
|
@ -193,12 +194,12 @@ public:
|
|||
bool removeUpdateType(UpdateType utype){ return mUpdates.erase(utype) == 1; }
|
||||
|
||||
const GxsMetaUpdate* getUpdates() const { return &mUpdates; }
|
||||
const std::string& getGroupId() const { return mGroupId; }
|
||||
const RsGxsGroupId& getGroupId() const { return mGroupId; }
|
||||
|
||||
private:
|
||||
|
||||
GxsMetaUpdate mUpdates;
|
||||
std::string mGroupId;
|
||||
RsGxsGroupId mGroupId;
|
||||
};
|
||||
|
||||
#endif /* RSGXSIFACETYPES_H_ */
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
|
||||
#include "retroshare/rstokenservice.h"
|
||||
#include "retroshare/rsgxsifacehelper.h"
|
||||
#include "retroshare/rsids.h"
|
||||
|
||||
/* The Main Interface Class - for information about your Peers */
|
||||
class RsIdentity;
|
||||
|
@ -166,8 +167,6 @@ class RsIdOpinion
|
|||
|
||||
// DATA TYPE FOR EXTERNAL INTERFACE.
|
||||
|
||||
typedef std::string RsGxsId; // TMP. =>
|
||||
|
||||
class RsRecognTag
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -128,7 +128,11 @@ bool RsGxsCircleGroupItem::convertFrom(const RsGxsCircleGroup &group)
|
|||
}
|
||||
else
|
||||
{
|
||||
gxsIdSet.ids = group.mInvitedMembers;
|
||||
std::list<RsGxsId>::const_iterator it = group.mInvitedMembers.begin();
|
||||
for(; it != group.mInvitedMembers.end(); it++)
|
||||
{
|
||||
gxsIdSet.ids.push_back(it->toStdString());
|
||||
}
|
||||
}
|
||||
subCircleSet.ids = group.mSubCircles;
|
||||
return true;
|
||||
|
@ -149,7 +153,10 @@ bool RsGxsCircleGroupItem::convertTo(RsGxsCircleGroup &group) const
|
|||
else
|
||||
{
|
||||
group.mLocalFriends.clear();
|
||||
group.mInvitedMembers = gxsIdSet.ids;
|
||||
std::list<std::string>::const_iterator cit = gxsIdSet.ids.begin();
|
||||
for(; cit != gxsIdSet.ids.end(); cit++)
|
||||
group.mInvitedMembers.push_back((RsGxsId(*cit)));
|
||||
|
||||
}
|
||||
group.mSubCircles = subCircleSet.ids;
|
||||
return true;
|
||||
|
|
|
@ -96,7 +96,7 @@ uint32_t RsGxsRecognSerialiser::sizeReq(RsGxsRecognReqItem *item)
|
|||
s += 4; // period;
|
||||
s += 2; // tag_class;
|
||||
s += 2; // tag_type;
|
||||
s += GetTlvStringSize(item->identity);
|
||||
s += item->identity.serial_size();
|
||||
s += GetTlvStringSize(item->nickname);
|
||||
s += GetTlvStringSize(item->comment);
|
||||
s += item->sign.TlvSize();
|
||||
|
@ -133,7 +133,7 @@ bool RsGxsRecognSerialiser::serialiseReq(RsGxsRecognReqItem *item, void *dat
|
|||
ok &= setRawUInt16(data, tlvsize, &offset, item->tag_class);
|
||||
ok &= setRawUInt16(data, tlvsize, &offset, item->tag_type);
|
||||
|
||||
ok &= SetTlvString(data, tlvsize, &offset, 1, item->identity);
|
||||
ok &= item->identity.serialise(data, tlvsize, offset);
|
||||
ok &= SetTlvString(data, tlvsize, &offset, 1, item->nickname);
|
||||
ok &= SetTlvString(data, tlvsize, &offset, 1, item->comment);
|
||||
ok &= item->sign.SetTlv(data, tlvsize, &offset);
|
||||
|
@ -186,7 +186,7 @@ RsGxsRecognReqItem *RsGxsRecognSerialiser::deserialiseReq(void *data, uint32_t *
|
|||
ok &= getRawUInt16(data, tlvsize, &offset, &(item->tag_class));
|
||||
ok &= getRawUInt16(data, tlvsize, &offset, &(item->tag_type));
|
||||
|
||||
ok &= GetTlvString(data, tlvsize, &offset, 1, item->identity);
|
||||
ok &= item->identity.serialise(data, tlvsize, offset);
|
||||
ok &= GetTlvString(data, tlvsize, &offset, 1, item->nickname);
|
||||
ok &= GetTlvString(data, tlvsize, &offset, 1, item->comment);
|
||||
ok &= item->sign.GetTlv(data, tlvsize, &offset);
|
||||
|
@ -269,7 +269,7 @@ uint32_t RsGxsRecognSerialiser::sizeTag(RsGxsRecognTagItem *item)
|
|||
s += 2; // tag_class;
|
||||
s += 2; // tag_type;
|
||||
|
||||
s += GetTlvStringSize(item->identity);
|
||||
s += item->identity.serial_size();
|
||||
s += GetTlvStringSize(item->nickname);
|
||||
|
||||
s += item->sign.TlvSize();
|
||||
|
@ -307,7 +307,7 @@ bool RsGxsRecognSerialiser::serialiseTag(RsGxsRecognTagItem *item, void *dat
|
|||
ok &= setRawUInt16(data, tlvsize, &offset, item->tag_class);
|
||||
ok &= setRawUInt16(data, tlvsize, &offset, item->tag_type);
|
||||
|
||||
ok &= SetTlvString(data, tlvsize, &offset, 1, item->identity);
|
||||
ok &= item->identity.serialise(data, tlvsize, offset);
|
||||
ok &= SetTlvString(data, tlvsize, &offset, 1, item->nickname);
|
||||
ok &= item->sign.SetTlv(data, tlvsize, &offset);
|
||||
|
||||
|
@ -360,7 +360,7 @@ RsGxsRecognTagItem *RsGxsRecognSerialiser::deserialiseTag(void *data, uint32_t *
|
|||
ok &= getRawUInt16(data, tlvsize, &offset, &(item->tag_class));
|
||||
ok &= getRawUInt16(data, tlvsize, &offset, &(item->tag_type));
|
||||
|
||||
ok &= GetTlvString(data, tlvsize, &offset, 1, item->identity);
|
||||
ok &= item->identity.deserialise(data, tlvsize, offset);
|
||||
ok &= GetTlvString(data, tlvsize, &offset, 1, item->nickname);
|
||||
ok &= item->sign.GetTlv(data, tlvsize, &offset);
|
||||
|
||||
|
|
|
@ -34,6 +34,8 @@
|
|||
#include "serialiser/rstlvtypes.h"
|
||||
#include "serialiser/rstlvkeys.h"
|
||||
|
||||
#include "retroshare/rsgxsifacetypes.h"
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
#define RS_PKT_SUBTYPE_RECOGN_REQ 0x01
|
||||
|
@ -61,7 +63,7 @@ std::ostream &print(std::ostream &out, uint16_t indent = 0);
|
|||
uint16_t tag_class;
|
||||
uint16_t tag_type;
|
||||
|
||||
std::string identity;
|
||||
RsGxsId identity;
|
||||
std::string nickname;
|
||||
std::string comment;
|
||||
|
||||
|
@ -88,7 +90,7 @@ std::ostream &print(std::ostream &out, uint16_t indent = 0);
|
|||
uint16_t tag_class;
|
||||
uint16_t tag_type;
|
||||
|
||||
std::string identity;
|
||||
RsGxsId identity;
|
||||
std::string nickname;
|
||||
|
||||
RsTlvKeySignature sign;
|
||||
|
|
|
@ -205,7 +205,7 @@ bool RsNxsSerialiser::serialiseNxsSynMsgItem(RsNxsSyncMsgItem *item, void *data,
|
|||
ok &= setRawUInt8(data, *size, &offset, item->flag);
|
||||
ok &= item->grpId.serialise(data, *size, offset);
|
||||
ok &= item->msgId.serialise(data, *size, offset);
|
||||
ok &= SetTlvString(data, *size, &offset, TLV_TYPE_STR_NAME, item->authorId);
|
||||
ok &= item->authorId.serialise(data, *size, offset);
|
||||
|
||||
if(offset != tlvsize){
|
||||
#ifdef RSSERIAL_DEBUG
|
||||
|
@ -456,7 +456,7 @@ bool RsNxsSerialiser::serialiseNxsSyncGrpItem(RsNxsSyncGrpItem *item, void *data
|
|||
ok &= setRawUInt8(data, *size, &offset, item->flag);
|
||||
ok &= item->grpId.serialise(data, *size, offset);
|
||||
ok &= setRawUInt32(data, *size, &offset, item->publishTs);
|
||||
ok &= SetTlvString(data, *size, &offset, TLV_TYPE_STR_NAME, item->authorId);
|
||||
ok &= item->authorId.serialise(data, *size, offset);
|
||||
|
||||
if(offset != tlvsize){
|
||||
#ifdef RSSERIAL_DEBUG
|
||||
|
@ -782,7 +782,7 @@ RsNxsSyncGrpItem* RsNxsSerialiser::deserialNxsSyncGrpItem(void *data, uint32_t *
|
|||
ok &= getRawUInt8(data, *size, &offset, &(item->flag));
|
||||
ok &= item->grpId.deserialise(data, *size, offset);
|
||||
ok &= getRawUInt32(data, *size, &offset, &(item->publishTs));
|
||||
ok &= GetTlvString(data, *size, &offset, TLV_TYPE_STR_NAME, item->authorId);
|
||||
ok &= item->authorId.deserialise(data, *size, offset);
|
||||
|
||||
if (offset != rssize)
|
||||
{
|
||||
|
@ -918,7 +918,7 @@ RsNxsSyncMsgItem* RsNxsSerialiser::deserialNxsSyncMsgItem(void *data, uint32_t *
|
|||
ok &= getRawUInt8(data, *size, &offset, &(item->flag));
|
||||
ok &= item->grpId.deserialise(data, *size, offset);
|
||||
ok &= item->msgId.deserialise(data, *size, offset);
|
||||
ok &= GetTlvString(data, *size, &offset, TLV_TYPE_STR_NAME, item->authorId);
|
||||
ok &= item->authorId.deserialise(data, *size, offset);
|
||||
|
||||
if (offset != rssize)
|
||||
{
|
||||
|
@ -1075,7 +1075,7 @@ uint32_t RsNxsSerialiser::sizeNxsSyncGrpItem(RsNxsSyncGrpItem *item)
|
|||
s += 4; // publishTs
|
||||
s += 1; // flag
|
||||
s += item->grpId.serial_size();
|
||||
s += GetTlvStringSize(item->authorId);
|
||||
s + item->authorId.serial_size();
|
||||
|
||||
return s;
|
||||
}
|
||||
|
@ -1105,7 +1105,7 @@ uint32_t RsNxsSerialiser::sizeNxsSyncMsgItem(RsNxsSyncMsgItem *item)
|
|||
s += 1; // flag
|
||||
s += item->grpId.serial_size();
|
||||
s += item->msgId.serial_size();
|
||||
s += GetTlvStringSize(item->authorId);
|
||||
s += item->authorId.serial_size();
|
||||
|
||||
return s;
|
||||
}
|
||||
|
|
|
@ -179,7 +179,7 @@ public:
|
|||
|
||||
/// grpId of grp held by sending peer
|
||||
RsGxsGroupId grpId;
|
||||
std::string authorId;
|
||||
RsGxsId authorId;
|
||||
|
||||
};
|
||||
|
||||
|
@ -263,7 +263,7 @@ public:
|
|||
uint8_t flag; // response/req
|
||||
RsGxsGroupId grpId;
|
||||
RsGxsMessageId msgId;
|
||||
std::string authorId;
|
||||
RsGxsId authorId;
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -832,7 +832,7 @@ bool p3GxsChannels::ExtraFileHash(const std::string &path, std::string filename)
|
|||
}
|
||||
|
||||
|
||||
bool p3GxsChannels::ExtraFileRemove(const std::string &hash)
|
||||
bool p3GxsChannels::ExtraFileRemove(const RsFileHash &hash)
|
||||
{
|
||||
TransferRequestFlags tflags = RS_FILE_REQ_ANONYMOUS_ROUTING | RS_FILE_REQ_EXTRA;
|
||||
RsFileHash fh = RsFileHash(hash);
|
||||
|
@ -1017,7 +1017,7 @@ void p3GxsChannels::dummy_tick()
|
|||
RsGxsGroupId grpId = ref.mGroupId;
|
||||
RsGxsMessageId parentId = ref.mMsgId;
|
||||
mGenThreadId = ref.mThreadId;
|
||||
if (mGenThreadId.empty())
|
||||
if (mGenThreadId.isNull())
|
||||
{
|
||||
mGenThreadId = parentId;
|
||||
}
|
||||
|
@ -1039,7 +1039,7 @@ void p3GxsChannels::dummy_tick()
|
|||
RsGxsGroupId grpId = ref.mGroupId;
|
||||
RsGxsMessageId parentId = ref.mMsgId;
|
||||
mGenThreadId = ref.mThreadId;
|
||||
if (mGenThreadId.empty())
|
||||
if (mGenThreadId.isNull())
|
||||
{
|
||||
mGenThreadId = parentId;
|
||||
}
|
||||
|
@ -1061,7 +1061,7 @@ void p3GxsChannels::dummy_tick()
|
|||
RsGxsGroupId grpId = ref.mGroupId;
|
||||
RsGxsMessageId parentId = ref.mMsgId;
|
||||
mGenThreadId = ref.mThreadId;
|
||||
if (mGenThreadId.empty())
|
||||
if (mGenThreadId.isNull())
|
||||
{
|
||||
mGenThreadId = parentId;
|
||||
}
|
||||
|
@ -1109,7 +1109,7 @@ bool p3GxsChannels::generateComment(uint32_t &token, const RsGxsGroupId &grpId,
|
|||
std::string rndId = genRandomId();
|
||||
|
||||
rs_sprintf(msg.mComment, "Channel Comment: GroupId: %s, ThreadId: %s, ParentId: %s + some randomness: %s",
|
||||
grpId.toStdString().c_str(), threadId.c_str(), parentId.c_str(), rndId.c_str());
|
||||
grpId.toStdString().c_str(), threadId.toStdString().c_str(), parentId.toStdString().c_str(), rndId.c_str());
|
||||
|
||||
msg.mMeta.mMsgName = msg.mComment;
|
||||
|
||||
|
|
|
@ -782,7 +782,7 @@ bool p3GxsCircles::cache_start_load()
|
|||
#ifdef DEBUG_CIRCLES
|
||||
std::cerr << "p3GxsCircles::cache_start_load()";
|
||||
std::cerr << std::endl;
|
||||
#endif // DEBUG_CIRCLES
|
||||
#endif // DEBUG_CIRCLESmatch
|
||||
|
||||
/* trigger request to load missing ids into cache */
|
||||
std::list<RsGxsGroupId> groupIds;
|
||||
|
@ -790,7 +790,7 @@ bool p3GxsCircles::cache_start_load()
|
|||
RsStackMutex stack(mCircleMtx); /********** STACK LOCKED MTX ******/
|
||||
|
||||
/* now we process the modGroupList -> a map so we can use it easily later, and create id list too */
|
||||
std::list<RsGxsId>::iterator it;
|
||||
std::list<RsGxsCircleId>::iterator it;
|
||||
for(it = mCacheLoad_ToCache.begin(); it != mCacheLoad_ToCache.end(); it++)
|
||||
{
|
||||
#ifdef DEBUG_CIRCLES
|
||||
|
@ -1453,7 +1453,7 @@ void p3GxsCircles::checkDummyIdData()
|
|||
std::cerr << "p3GxsCircles::checkDummyIdData() PgpLinkedId: " << it->mMeta.mGroupId;
|
||||
std::cerr << std::endl;
|
||||
#endif // DEBUG_CIRCLES
|
||||
mDummyPgpLinkedIds.push_back(it->mMeta.mGroupId.toStdString());
|
||||
mDummyPgpLinkedIds.push_back(RsGxsId(it->mMeta.mGroupId.toStdString()));
|
||||
|
||||
if (it->mMeta.mSubscribeFlags & GXS_SERV::GROUP_SUBSCRIBE_ADMIN)
|
||||
{
|
||||
|
@ -1461,7 +1461,7 @@ void p3GxsCircles::checkDummyIdData()
|
|||
std::cerr << "p3GxsCircles::checkDummyIdData() OwnId: " << it->mMeta.mGroupId;
|
||||
std::cerr << std::endl;
|
||||
#endif // DEBUG_CIRCLES
|
||||
mDummyOwnIds.push_back(it->mMeta.mGroupId.toStdString());
|
||||
mDummyOwnIds.push_back(RsGxsId(it->mMeta.mGroupId.toStdString()));
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
@ -435,7 +435,7 @@ bool p3GxsCommentService::createGxsVote(uint32_t &token, RsGxsVote &vote)
|
|||
return false;
|
||||
}
|
||||
|
||||
if (vote.mMeta.mAuthorId.empty())
|
||||
if (vote.mMeta.mAuthorId.isNull())
|
||||
{
|
||||
std::cerr << "p3GxsCommentService::createGxsVote() ERROR Missing Required AuthorId";
|
||||
std::cerr << std::endl;
|
||||
|
|
|
@ -219,7 +219,7 @@ bool p3GxsForums::updateGroup(uint32_t &token, RsGxsGroupUpdateMeta& meta, RsGxs
|
|||
{
|
||||
std::cerr << "p3GxsForums::updateGroup()" << std::endl;
|
||||
|
||||
if(meta.getGroupId().empty())
|
||||
if(meta.getGroupId().isNull())
|
||||
return false;
|
||||
|
||||
RsGxsForumGroupItem* grpItem = new RsGxsForumGroupItem();
|
||||
|
|
|
@ -628,7 +628,7 @@ bool p3IdService::createGroup(uint32_t& token, RsGxsIdGroup &group)
|
|||
|
||||
bool p3IdService::updateGroup(uint32_t& token, RsGxsIdGroup &group)
|
||||
{
|
||||
RsGxsId id = group.mMeta.mGroupId.toStdString();
|
||||
RsGxsId id = RsGxsId(group.mMeta.mGroupId.toStdString());
|
||||
RsGxsIdGroupItem* item = new RsGxsIdGroupItem();
|
||||
item->group = group;
|
||||
item->meta = group.mMeta;
|
||||
|
@ -638,7 +638,7 @@ bool p3IdService::updateGroup(uint32_t& token, RsGxsIdGroup &group)
|
|||
|
||||
//RsGenExchange::updateGroup(token, item);
|
||||
|
||||
RsGxsGroupUpdateMeta updateMeta(id);
|
||||
RsGxsGroupUpdateMeta updateMeta(RsGxsGroupId(id.toStdString()));
|
||||
RsGenExchange::updateGroup(token, updateMeta, item);
|
||||
|
||||
// if its in the cache - clear it.
|
||||
|
@ -1205,7 +1205,7 @@ bool p3IdService::cache_process_recogntaginfo(const RsGxsIdGroupItem *item, std:
|
|||
{
|
||||
RsRecognTag info((*it)->tag_class, (*it)->tag_type, false);
|
||||
bool isPending = false;
|
||||
if (recogn_checktag(item->meta.mGroupId.toStdString(), item->meta.mGroupName, *it, false, isPending))
|
||||
if (recogn_checktag(RsGxsId(item->meta.mGroupId.toStdString()), item->meta.mGroupName, *it, false, isPending))
|
||||
{
|
||||
info.valid = true;
|
||||
}
|
||||
|
@ -1256,8 +1256,8 @@ bool p3IdService::cache_store(const RsGxsIdGroupItem *item)
|
|||
bool pub_key_ok = false;
|
||||
bool full_key_ok = false;
|
||||
|
||||
RsGxsId id = item->meta.mGroupId.toStdString();
|
||||
if (!getGroupKeys(RsGxsGroupId(id), keySet))
|
||||
RsGxsId id (item->meta.mGroupId.toStdString());
|
||||
if (!getGroupKeys(RsGxsGroupId(id.toStdString()), keySet))
|
||||
{
|
||||
std::cerr << "p3IdService::cache_store() ERROR getting GroupKeys for: ";
|
||||
std::cerr << item->meta.mGroupId;
|
||||
|
@ -1378,7 +1378,7 @@ bool p3IdService::cache_start_load()
|
|||
std::cerr << "p3IdService::cache_start_load() GroupId: " << it->first;
|
||||
std::cerr << std::endl;
|
||||
#endif // DEBUG_IDS
|
||||
groupIds.push_back(RsGxsGroupId(it->first)); // might need conversion?
|
||||
groupIds.push_back(RsGxsGroupId(it->first.toStdString())); // might need conversion?
|
||||
}
|
||||
|
||||
mPendingCache.insert(mCacheLoad_ToCache.begin(), mCacheLoad_ToCache.end());
|
||||
|
@ -1438,7 +1438,7 @@ bool p3IdService::cache_load_for_token(uint32_t token)
|
|||
{
|
||||
// remove identities that are present
|
||||
RsStackMutex stack(mIdMtx);
|
||||
mPendingCache.erase(item->meta.mGroupId.toStdString());
|
||||
mPendingCache.erase(RsGxsId(item->meta.mGroupId.toStdString()));
|
||||
}
|
||||
|
||||
/* cache the data */
|
||||
|
@ -1503,7 +1503,7 @@ void p3IdService::requestIdsFromNet()
|
|||
std::list<RsGxsId>::const_iterator gxs_id_it = cit2->second.begin();
|
||||
std::list<RsGxsGroupId> grpIds;
|
||||
for(; gxs_id_it != cit2->second.end(); gxs_id_it++)
|
||||
grpIds.push_back(RsGxsGroupId(*gxs_id_it));
|
||||
grpIds.push_back(RsGxsGroupId(gxs_id_it->toStdString()));
|
||||
|
||||
mNes->requestGrp(grpIds, cit2->first);
|
||||
}
|
||||
|
@ -1607,7 +1607,7 @@ bool p3IdService::cache_load_ownids(uint32_t token)
|
|||
|
||||
if (item->meta.mSubscribeFlags & GXS_SERV::GROUP_SUBSCRIBE_ADMIN)
|
||||
{
|
||||
mOwnIds.push_back(item->meta.mGroupId.toStdString());
|
||||
mOwnIds.push_back(RsGxsId(item->meta.mGroupId.toStdString()));
|
||||
}
|
||||
delete item ;
|
||||
}
|
||||
|
@ -1681,7 +1681,7 @@ bool p3IdService::cachetest_handlerequest(uint32_t token)
|
|||
|
||||
std::list<RsGxsGroupId>::const_iterator cit = grpIdsC.begin();
|
||||
for(; cit != grpIdsC.end(); cit++)
|
||||
grpIds.push_back(cit->toStdString());
|
||||
grpIds.push_back(RsGxsId(cit->toStdString()));
|
||||
|
||||
if(ok)
|
||||
{
|
||||
|
@ -1976,7 +1976,7 @@ RsGenExchange::ServiceCreate_Return p3IdService::service_CreateGroup(RsGxsGrpIte
|
|||
std::cerr << "p3IdService::service_CreateGroup() OwnFingerprint: " << ownFinger.toStdString();
|
||||
std::cerr << std::endl;
|
||||
|
||||
calcPGPHash(item->group.mMeta.mGroupId.toStdString(), ownFinger, hash);
|
||||
calcPGPHash(RsGxsId(item->group.mMeta.mGroupId.toStdString()), ownFinger, hash);
|
||||
item->group.mPgpIdHash = hash.toStdString();
|
||||
|
||||
#ifdef DEBUG_IDS
|
||||
|
@ -2267,7 +2267,7 @@ bool p3IdService::pgphash_process()
|
|||
std::string serviceString = ssdata.save();
|
||||
setGroupServiceString(dummyToken, pg.mMeta.mGroupId, serviceString);
|
||||
|
||||
cache_update_if_cached(pg.mMeta.mGroupId.toStdString(), serviceString);
|
||||
cache_update_if_cached(RsGxsId(pg.mMeta.mGroupId.toStdString()), serviceString);
|
||||
|
||||
// Schedule Next Processing.
|
||||
RsTickEvent::schedule_in(GXSID_EVENT_PGPHASH_PROC, PGPHASH_PROC_PERIOD);
|
||||
|
@ -2312,7 +2312,7 @@ bool p3IdService::checkId(const RsGxsIdGroup &grp, PGPIdType &pgpId)
|
|||
for(mit = mPgpFingerprintMap.begin(); mit != mPgpFingerprintMap.end(); mit++)
|
||||
{
|
||||
GxsIdPgpHash hash;
|
||||
calcPGPHash(grp.mMeta.mGroupId.toStdString(), mit->second, hash);
|
||||
calcPGPHash(RsGxsId(grp.mMeta.mGroupId.toStdString()), mit->second, hash);
|
||||
if (ans == hash)
|
||||
{
|
||||
std::cerr << "p3IdService::checkId() HASH MATCH!";
|
||||
|
@ -2422,7 +2422,7 @@ void calcPGPHash(const RsGxsId &id, const PGPFingerprintType &pgp, GxsIdPgpHash
|
|||
SHA_CTX *sha_ctx = new SHA_CTX;
|
||||
SHA1_Init(sha_ctx);
|
||||
|
||||
SHA1_Update(sha_ctx, id.c_str(), id.length()); // TO FIX ONE DAY.
|
||||
SHA1_Update(sha_ctx, id.toStdString().c_str(), id.toStdString().length()); // TO FIX ONE DAY.
|
||||
SHA1_Update(sha_ctx, pgp.toByteArray(), pgp.SIZE_IN_BYTES);
|
||||
SHA1_Final(signature, sha_ctx);
|
||||
hash = GxsIdPgpHash(signature);
|
||||
|
@ -2634,7 +2634,7 @@ bool p3IdService::recogn_process()
|
|||
for(it = tagItems.begin(); it != tagItems.end(); it++)
|
||||
{
|
||||
bool isTagPending = false;
|
||||
bool isTagOk = recogn_checktag(item->meta.mGroupId.toStdString(), item->meta.mGroupName, *it, true, isPending);
|
||||
bool isTagOk = recogn_checktag(RsGxsId(item->meta.mGroupId.toStdString()), item->meta.mGroupName, *it, true, isPending);
|
||||
if (isTagOk)
|
||||
{
|
||||
tagValidFlags |= i;
|
||||
|
@ -2665,7 +2665,7 @@ bool p3IdService::recogn_process()
|
|||
std::string serviceString = ssdata.save();
|
||||
setGroupServiceString(dummyToken, item->meta.mGroupId, serviceString);
|
||||
|
||||
cache_update_if_cached(item->meta.mGroupId.toStdString(), serviceString);
|
||||
cache_update_if_cached(RsGxsId(item->meta.mGroupId.toStdString()), serviceString);
|
||||
|
||||
delete item;
|
||||
|
||||
|
|
|
@ -506,12 +506,12 @@ std::string chooseRandomAuthorId()
|
|||
int i = 0;
|
||||
for(it = ownIds.begin(); (it != ownIds.end()) && (i < idx); it++, i++) ;
|
||||
|
||||
std::string answer;
|
||||
RsGxsId answer;
|
||||
if (it != ownIds.end())
|
||||
{
|
||||
answer = *it;
|
||||
}
|
||||
return answer;
|
||||
return answer.toStdString();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -567,7 +567,7 @@ RsGxsRecognTagItem *RsRecogn::extractTag(const std::string &encoded)
|
|||
}
|
||||
|
||||
|
||||
bool RsRecogn::createTagRequest(const RsTlvSecurityKey &key, const std::string &id, const std::string &nickname, uint16_t tag_class, uint16_t tag_type, const std::string &comment, std::string &tag)
|
||||
bool RsRecogn::createTagRequest(const RsTlvSecurityKey &key, const RsGxsId &id, const std::string &nickname, uint16_t tag_class, uint16_t tag_type, const std::string &comment, std::string &tag)
|
||||
{
|
||||
RsGxsRecognReqItem *item = new RsGxsRecognReqItem();
|
||||
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
#include <openssl/rsa.h>
|
||||
|
||||
#include "serialiser/rsgxsrecognitems.h"
|
||||
#include "retroshare/rsgxsifacetypes.h"
|
||||
|
||||
namespace RsRecogn {
|
||||
|
||||
|
@ -52,7 +53,7 @@ std::string getRsaKeyId(RSA *pubkey);
|
|||
RsGxsRecognTagItem *extractTag(const std::string &encoded);
|
||||
|
||||
bool createTagRequest(const RsTlvSecurityKey &key,
|
||||
const std::string &id, const std::string &nickname,
|
||||
const RsGxsId &id, const std::string &nickname,
|
||||
uint16_t tag_class, uint16_t tag_type,
|
||||
const std::string &comment, std::string &tag);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue