mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
a715947046
Reactivated Photodialog. almost completed integration, publishing and item storage working, but data retrieval algorithm needs to be changed (request flags need to be translated, based on update call rather than client assumption) fixed bug in rsgenexchange notification. Added LGPL notices git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5387 b45a01b8-16f6-495d-af2f-9b41ad6348cc
121 lines
2.9 KiB
C++
121 lines
2.9 KiB
C++
#ifndef RSGXSMETA_H
|
|
#define RSGXSMETA_H
|
|
|
|
/*
|
|
* libretroshare/src/gxs: rsgxsdata.h
|
|
*
|
|
* Gxs Data types used to specific services
|
|
*
|
|
* Copyright 2012-2012 by Christopher Evi-Parker, Robert Fernie
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Library General Public
|
|
* License Version 2 as published by the Free Software Foundation.
|
|
*
|
|
* This library 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
|
|
* Library General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Library General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
|
* USA.
|
|
*
|
|
* Please report all bugs and problems to "retroshare@lunamutt.com".
|
|
*
|
|
*/
|
|
|
|
#include <string>
|
|
|
|
#include "serialiser/rsserial.h"
|
|
#include "serialiser/rstlvbase.h"
|
|
#include "serialiser/rstlvtypes.h"
|
|
#include "serialiser/rstlvkeys.h"
|
|
#include "serialiser/rsgxsitems.h"
|
|
|
|
typedef std::string RsGxsGroupId;
|
|
typedef std::string RsGxsMessageId;
|
|
typedef std::pair<RsGxsGroupId, RsGxsMessageId> RsGxsGrpMsgIdPair;
|
|
|
|
class RsGroupMetaData;
|
|
class RsMsgMetaData;
|
|
|
|
class RsGxsGrpMetaData
|
|
{
|
|
public:
|
|
|
|
RsGxsGrpMetaData();
|
|
bool deserialise(void *data, uint32_t &pktsize);
|
|
bool serialise(void* data, uint32_t &pktsize);
|
|
uint32_t serial_size();
|
|
void clear();
|
|
void operator =(const RsGroupMetaData& rMeta);
|
|
|
|
RsGxsGroupId mGroupId;
|
|
RsGxsGroupId mOrigGrpId;
|
|
std::string mGroupName;
|
|
uint32_t mGroupFlags;
|
|
uint32_t mPublishTs;
|
|
std::string mAuthorId;
|
|
|
|
|
|
RsTlvKeySignature adminSign;
|
|
RsTlvSecurityKeySet keys;
|
|
RsTlvKeySignature idSign;
|
|
|
|
|
|
|
|
// BELOW HERE IS LOCAL DATA, THAT IS NOT FROM MSG.
|
|
|
|
uint32_t mSubscribeFlags;
|
|
|
|
uint32_t mPop; // HOW DO WE DO THIS NOW.
|
|
uint32_t mMsgCount; // ???
|
|
time_t mLastPost; // ???
|
|
|
|
uint32_t mGroupStatus;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class RsGxsMsgMetaData
|
|
{
|
|
public:
|
|
|
|
RsGxsMsgMetaData();
|
|
bool deserialise(void *data, uint32_t *size);
|
|
bool serialise(void* data, uint32_t *size);
|
|
uint32_t serial_size();
|
|
void clear();
|
|
void operator =(const RsMsgMetaData& rMeta);
|
|
|
|
RsGxsGroupId mGroupId;
|
|
RsGxsMessageId mMsgId;
|
|
|
|
RsGxsMessageId mThreadId;
|
|
RsGxsMessageId mParentId;
|
|
RsGxsMessageId mOrigMsgId;
|
|
std::string mAuthorId;
|
|
|
|
RsTlvKeySignature pubSign;
|
|
RsTlvKeySignature idSign;
|
|
|
|
std::string mMsgName;
|
|
time_t mPublishTs;
|
|
uint32_t mMsgFlags; // Whats this for?
|
|
|
|
// BELOW HERE IS LOCAL DATA, THAT IS NOT FROM MSG.
|
|
// normally READ / UNREAD flags. LOCAL Data.
|
|
uint32_t mMsgStatus;
|
|
time_t mChildTs;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // RSGXSMETA_H
|