cleaned the hierarchy of serialization classes

This commit is contained in:
csoler 2017-04-26 11:40:46 +02:00
parent 77e809ea4b
commit 9c610a736d
48 changed files with 382 additions and 326 deletions

View file

@ -62,7 +62,7 @@ RsItem *RsChatSerialiser::create_item(uint16_t service_id,uint8_t item_sub_id) c
}
}
void RsChatMsgItem::serial_process(RsItem::SerializeJob j,SerializeContext& ctx)
void RsChatMsgItem::serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx)
{
RsTypeSerializer::serial_process(j,ctx,chatFlags,"chatflags") ;
RsTypeSerializer::serial_process(j,ctx,sendTime,"sendTime") ;
@ -80,7 +80,7 @@ RsChatAvatarItem::~RsChatAvatarItem()
}
}
void RsChatLobbyBouncingObject::serial_process(RsItem::SerializeJob j, SerializeContext& ctx)
void RsChatLobbyBouncingObject::serial_process(RsGenericSerializer::SerializeJob j, RsGenericSerializer::SerializeContext& ctx)
{
RsTypeSerializer::serial_process(j,ctx,lobby_id,"lobby_id") ;
RsTypeSerializer::serial_process(j,ctx,msg_id ,"msg_id") ;
@ -90,19 +90,19 @@ void RsChatLobbyBouncingObject::serial_process(RsItem::SerializeJob j, Serialize
RsTypeSerializer::serial_process<RsTlvItem>(j,ctx,signature,"signature") ;
}
void RsChatLobbyMsgItem::serial_process(RsItem::SerializeJob j,SerializeContext& ctx)
void RsChatLobbyMsgItem::serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx)
{
RsChatMsgItem::serial_process(j,ctx) ;
RsTypeSerializer::serial_process(j,ctx,parent_msg_id,"parent_msg_id") ;
RsChatLobbyBouncingObject::serial_process(j,ctx) ;
}
void RsChatLobbyListRequestItem::serial_process(RsItem::SerializeJob j,SerializeContext& ctx)
void RsChatLobbyListRequestItem::serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx)
{
// nothing to do. This is an empty item.
}
template<> void RsTypeSerializer::serial_process(RsItem::SerializeJob j,SerializeContext& ctx,VisibleChatLobbyInfo& info,const std::string& name)
template<> void RsTypeSerializer::serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx,VisibleChatLobbyInfo& info,const std::string& name)
{
RsTypeSerializer::serial_process<uint64_t>(j,ctx,info.id,"info.id") ;
@ -112,12 +112,12 @@ template<> void RsTypeSerializer::serial_process(RsItem::SerializeJob j,Serializ
RsTypeSerializer::serial_process (j,ctx, info.flags,"info.flags") ;
}
void RsChatLobbyListItem::serial_process(RsItem::SerializeJob j,SerializeContext& ctx)
void RsChatLobbyListItem::serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx)
{
RsTypeSerializer::serial_process(j,ctx,lobbies,"lobbies") ;
}
void RsChatLobbyEventItem::serial_process(RsItem::SerializeJob j,SerializeContext& ctx)
void RsChatLobbyEventItem::serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx)
{
RsTypeSerializer::serial_process<uint8_t>(j,ctx,event_type,"event_type") ;
RsTypeSerializer::serial_process (j,ctx,TLV_TYPE_STR_NAME,string1,"string1") ;
@ -125,24 +125,24 @@ void RsChatLobbyEventItem::serial_process(RsItem::SerializeJob j,SerializeContex
RsChatLobbyBouncingObject::serial_process(j,ctx) ;
}
void RsChatLobbyUnsubscribeItem::serial_process(RsItem::SerializeJob j,SerializeContext& ctx)
void RsChatLobbyUnsubscribeItem::serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx)
{
RsTypeSerializer::serial_process<uint64_t>(j,ctx,lobby_id,"lobby_id") ;
}
void RsChatLobbyConnectChallengeItem::serial_process(RsItem::SerializeJob j,SerializeContext& ctx)
void RsChatLobbyConnectChallengeItem::serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx)
{
RsTypeSerializer::serial_process<uint64_t>(j,ctx,challenge_code,"challenge_code") ;
}
void RsChatLobbyInviteItem::serial_process(RsItem::SerializeJob j,SerializeContext& ctx)
void RsChatLobbyInviteItem::serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx)
{
RsTypeSerializer::serial_process<uint64_t>(j,ctx, lobby_id, "lobby_id") ;
RsTypeSerializer::serial_process (j,ctx,TLV_TYPE_STR_NAME,lobby_name, "lobby_name") ;
RsTypeSerializer::serial_process (j,ctx, lobby_flags,"lobby_flags") ;
}
void RsPrivateChatMsgConfigItem::serial_process(RsItem::SerializeJob j,SerializeContext& ctx)
void RsPrivateChatMsgConfigItem::serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx)
{
uint32_t x=0 ;
@ -154,19 +154,19 @@ void RsPrivateChatMsgConfigItem::serial_process(RsItem::SerializeJob j,Serialize
RsTypeSerializer::serial_process<uint32_t>(j,ctx, recvTime, "recvTime") ;
}
void RsChatStatusItem::serial_process(RsItem::SerializeJob j,SerializeContext& ctx)
void RsChatStatusItem::serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx)
{
RsTypeSerializer::serial_process(j,ctx,flags,"flags") ;
RsTypeSerializer::serial_process(j,ctx,TLV_TYPE_STR_MSG,status_string,"status_string") ;
}
void RsChatAvatarItem::serial_process(RsItem::SerializeJob j,SerializeContext& ctx)
void RsChatAvatarItem::serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx)
{
RsTypeSerializer::TlvMemBlock_proxy b(image_data,image_size) ;
RsTypeSerializer::serial_process(j,ctx,b,"image data") ;
}
void RsChatLobbyConfigItem::serial_process(RsItem::SerializeJob j,SerializeContext& ctx)
void RsChatLobbyConfigItem::serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx)
{
RsTypeSerializer::serial_process<uint64_t>(j,ctx,lobby_Id,"lobby_Id") ;
RsTypeSerializer::serial_process(j,ctx,flags,"flags") ;

View file

@ -30,6 +30,8 @@
#include "serialization/rsserializer.h"
#include "serialiser/rstlvkeys.h"
#include "rsitems/rsserviceids.h"
#include "rsitems/itempriorities.h"
#include "rsitems/rsitem.h"
#include "serialiser/rsserial.h"
#include "serialiser/rstlvidset.h"
@ -112,7 +114,7 @@ public:
// derived from RsItem
void serial_process(RsItem::SerializeJob j,SerializeContext& ctx);
void serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx);
virtual void clear() {}
uint32_t chatFlags;
@ -142,7 +144,7 @@ protected:
// They are called by serial_size() and serialise() from children, but should not overload the serial_size() and
// serialise() methods, otherwise the wrong method will be called when serialising from this top level class.
virtual void serial_process(RsItem::SerializeJob j, SerializeContext& ctx);
virtual void serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx);
virtual uint32_t PacketId() const= 0;
};
@ -155,7 +157,7 @@ public:
virtual ~RsChatLobbyMsgItem() {}
virtual RsChatLobbyBouncingObject *duplicate() const { return new RsChatLobbyMsgItem(*this) ; }
void serial_process(RsItem::SerializeJob j,SerializeContext& ctx) ;
virtual void serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx);
ChatLobbyMsgId parent_msg_id ; // Used for threaded chat.
@ -171,7 +173,7 @@ public:
virtual ~RsChatLobbyEventItem() {}
virtual RsChatLobbyBouncingObject *duplicate() const { return new RsChatLobbyEventItem(*this) ; }
//
void serial_process(RsItem::SerializeJob j,SerializeContext& ctx);
virtual void serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx);
// members.
//
@ -189,7 +191,7 @@ class RsChatLobbyListRequestItem: public RsChatItem
RsChatLobbyListRequestItem() : RsChatItem(RS_PKT_SUBTYPE_CHAT_LOBBY_LIST_REQUEST) {}
virtual ~RsChatLobbyListRequestItem() {}
void serial_process(RsItem::SerializeJob j,SerializeContext& ctx);
void serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx);
};
struct VisibleChatLobbyInfo
@ -207,7 +209,7 @@ class RsChatLobbyListItem: public RsChatItem
RsChatLobbyListItem() : RsChatItem(RS_PKT_SUBTYPE_CHAT_LOBBY_LIST) {}
virtual ~RsChatLobbyListItem() {}
void serial_process(RsItem::SerializeJob j,SerializeContext& ctx);
void serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx);
std::vector<VisibleChatLobbyInfo> lobbies ;
};
@ -219,7 +221,7 @@ class RsChatLobbyUnsubscribeItem: public RsChatItem
virtual ~RsChatLobbyUnsubscribeItem() {}
void serial_process(RsItem::SerializeJob j,SerializeContext& ctx);
void serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx);
uint64_t lobby_id ;
};
@ -231,7 +233,7 @@ class RsChatLobbyConnectChallengeItem: public RsChatItem
virtual ~RsChatLobbyConnectChallengeItem() {}
void serial_process(RsItem::SerializeJob j,SerializeContext& ctx);
void serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx);
uint64_t challenge_code ;
};
@ -242,7 +244,7 @@ class RsChatLobbyInviteItem: public RsChatItem
RsChatLobbyInviteItem() :RsChatItem(RS_PKT_SUBTYPE_CHAT_LOBBY_INVITE) {}
virtual ~RsChatLobbyInviteItem() {}
void serial_process(RsItem::SerializeJob j,SerializeContext& ctx);
void serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx);
ChatLobbyId lobby_id ;
std::string lobby_name ;
@ -262,7 +264,7 @@ class RsPrivateChatMsgConfigItem: public RsChatItem
virtual ~RsPrivateChatMsgConfigItem() {}
virtual void clear() {}
void serial_process(RsItem::SerializeJob j,SerializeContext& ctx);
virtual void serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx);
/* set data from RsChatMsgItem to RsPrivateChatMsgConfigItem */
void set(RsChatMsgItem *ci, const RsPeerId &peerId, uint32_t confFlags);
@ -286,7 +288,7 @@ public:
virtual void clear() { lobby_Id = 0; }
void serial_process(RsItem::SerializeJob j,SerializeContext& ctx);
void serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx);
uint64_t lobby_Id;
uint32_t flags ;
@ -301,7 +303,7 @@ class RsChatStatusItem: public RsChatItem
virtual ~RsChatStatusItem() {}
void serial_process(RsItem::SerializeJob j,SerializeContext& ctx);
void serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx);
uint32_t flags ;
std::string status_string;
@ -315,7 +317,7 @@ class RsChatAvatarItem: public RsChatItem
RsChatAvatarItem() :RsChatItem(RS_PKT_SUBTYPE_CHAT_AVATAR) {setPriorityLevel(QOS_PRIORITY_RS_CHAT_AVATAR_ITEM) ;}
virtual ~RsChatAvatarItem() ;
void serial_process(RsItem::SerializeJob j,SerializeContext& ctx);
void serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx);
uint32_t image_size ; // size of data in bytes
unsigned char *image_data ; // image
@ -325,7 +327,7 @@ class RsChatSerialiser: public RsServiceSerializer
{
public:
RsChatSerialiser(SerializationFlags flags = SERIALIZATION_FLAG_NONE)
:RsServiceSerializer(RS_SERVICE_TYPE_CHAT,SerializeContext::FORMAT_BINARY,flags) {}
:RsServiceSerializer(RS_SERVICE_TYPE_CHAT,RsGenericSerializer::FORMAT_BINARY,flags) {}
virtual RsItem *create_item(uint16_t service_id,uint8_t item_sub_id) const ;
};