added extra constructor to allow distrib cache service item grpkey to be used with p3service.

- key sharing now enabled for channels and distrib service

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3024 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
chrisparker126 2010-05-29 12:05:54 +00:00
parent c957fb7988
commit 39356c9918
3 changed files with 21 additions and 14 deletions

View file

@ -331,7 +331,7 @@ RsDistribGrp *RsDistribSerialiser::deserialiseGrp(void *data, uint32_t *pktsize)
if ((RS_PKT_VERSION_SERVICE != getRsItemVersion(rstype)) ||
(RS_SERVICE_TYPE_DISTRIB != getRsItemService(rstype)) ||
(SERVICE_TYPE != getRsItemService(rstype)) ||
(RS_PKT_SUBTYPE_DISTRIB_GRP != getRsItemSubType(rstype)))
{
#ifdef RSSERIAL_DEBUG
@ -491,7 +491,7 @@ RsDistribGrpKey *RsDistribSerialiser::deserialiseGrpKey(void *data, uint32_t *pk
if ((RS_PKT_VERSION_SERVICE != getRsItemVersion(rstype)) ||
(RS_SERVICE_TYPE_DISTRIB != getRsItemService(rstype)) ||
(SERVICE_TYPE != getRsItemService(rstype)) ||
(RS_PKT_SUBTYPE_DISTRIB_GRP_KEY != getRsItemSubType(rstype)))
{
#ifdef RSSERIAL_DEBUG
@ -633,7 +633,7 @@ RsDistribSignedMsg *RsDistribSerialiser::deserialiseSignedMsg(void *data, uint32
if ((RS_PKT_VERSION_SERVICE != getRsItemVersion(rstype)) ||
(RS_SERVICE_TYPE_DISTRIB != getRsItemService(rstype)) ||
(SERVICE_TYPE != getRsItemService(rstype)) ||
(RS_PKT_SUBTYPE_DISTRIB_SIGNED_MSG != getRsItemSubType(rstype)))
{
#ifdef RSSERIAL_DEBUG
@ -755,7 +755,7 @@ RsItem *RsDistribSerialiser::deserialise(void *data, uint32_t *pktsize)
uint32_t rstype = getRsItemId(data);
if ((RS_PKT_VERSION_SERVICE != getRsItemVersion(rstype)) ||
(RS_SERVICE_TYPE_DISTRIB != getRsItemService(rstype)))
(SERVICE_TYPE != getRsItemService(rstype)))
{
return NULL; /* wrong type */
}

View file

@ -127,9 +127,13 @@ class RsDistribGrpKey: public RsItem
{
public:
RsDistribGrpKey(uint16_t service_type)
:RsItem(RS_PKT_VERSION_SERVICE, service_type, RS_PKT_SUBTYPE_DISTRIB_GRP_KEY)
{ return; }
RsDistribGrpKey()
:RsItem(RS_PKT_VERSION_SERVICE, RS_SERVICE_TYPE_DISTRIB, RS_PKT_SUBTYPE_DISTRIB_GRP_KEY)
{ return; }
{ return; }
virtual ~RsDistribGrpKey() { return; }
@ -144,9 +148,12 @@ virtual std::ostream& print(std::ostream &out, uint16_t indent = 0);
class RsDistribSerialiser: public RsSerialType
{
public:
RsDistribSerialiser()
:RsSerialType(RS_PKT_VERSION_SERVICE, RS_SERVICE_TYPE_DISTRIB)
// optional to allow use in p3service/sockets
RsDistribSerialiser(uint16_t service_type = RS_SERVICE_TYPE_DISTRIB)
: RsSerialType(RS_PKT_VERSION_SERVICE, service_type), SERVICE_TYPE(service_type)
{ return; }
virtual ~RsDistribSerialiser()
{ return; }
@ -171,6 +178,8 @@ virtual uint32_t sizeSignedMsg(RsDistribSignedMsg *);
virtual bool serialiseSignedMsg (RsDistribSignedMsg *item, void *data, uint32_t *size);
virtual RsDistribSignedMsg *deserialiseSignedMsg(void *data, uint32_t *size);
const uint16_t SERVICE_TYPE;
};
/**************************************************************************/