rpcn: extra changes

This commit is contained in:
RipleyTom 2021-10-26 12:00:17 +02:00 committed by kd-11
parent b70f08d850
commit 704e74b904
5 changed files with 75 additions and 134 deletions

View File

@ -378,12 +378,7 @@ void np_handler::RoomDataInternalUpdateInfo_to_SceNpMatching2RoomDataInternalUpd
sce_update_info->newRoomDataInternal = room_data; sce_update_info->newRoomDataInternal = room_data;
RoomDataInternal_to_SceNpMatching2RoomDataInternal(update_info->newRoomDataInternal(), sce_update_info->newRoomDataInternal.get_ptr(), npid); RoomDataInternal_to_SceNpMatching2RoomDataInternal(update_info->newRoomDataInternal(), sce_update_info->newRoomDataInternal.get_ptr(), npid);
if (update_info->newFlagAttr() == update_info->prevFlagAttr()) if (sce_update_info->newRoomDataInternal->flagAttr != update_info->prevFlagAttr())
{
sce_update_info->newFlagAttr.set(0);
sce_update_info->prevFlagAttr.set(0);
}
else
{ {
sce_update_info->newFlagAttr = sce_update_info->newRoomDataInternal.ptr(&SceNpMatching2RoomDataInternal::flagAttr); sce_update_info->newFlagAttr = sce_update_info->newRoomDataInternal.ptr(&SceNpMatching2RoomDataInternal::flagAttr);
@ -392,12 +387,7 @@ void np_handler::RoomDataInternalUpdateInfo_to_SceNpMatching2RoomDataInternalUpd
sce_update_info->prevFlagAttr = prev_flag_attr; sce_update_info->prevFlagAttr = prev_flag_attr;
} }
if (update_info->newRoomPasswordSlotMask() == update_info->prevRoomPasswordSlotMask()) if (sce_update_info->newRoomDataInternal->passwordSlotMask != update_info->prevRoomPasswordSlotMask())
{
sce_update_info->newRoomPasswordSlotMask.set(0);
sce_update_info->prevRoomPasswordSlotMask.set(0);
}
else
{ {
sce_update_info->newRoomPasswordSlotMask = sce_update_info->newRoomDataInternal.ptr(&SceNpMatching2RoomDataInternal::passwordSlotMask); sce_update_info->newRoomPasswordSlotMask = sce_update_info->newRoomDataInternal.ptr(&SceNpMatching2RoomDataInternal::passwordSlotMask);
@ -418,13 +408,20 @@ void np_handler::RoomDataInternalUpdateInfo_to_SceNpMatching2RoomDataInternalUpd
if (update_info->newRoomBinAttrInternal() && update_info->newRoomBinAttrInternal()->size() != 0) if (update_info->newRoomBinAttrInternal() && update_info->newRoomBinAttrInternal()->size() != 0)
{ {
const auto get_ptr_for_binattr = [&](u16 binattr_id) -> vm::ptr<SceNpMatching2RoomBinAttrInternal> {
vm::ptr<SceNpMatching2RoomBinAttrInternal> ret_ptr = sce_update_info->newRoomDataInternal->roomBinAttrInternal;
while (ret_ptr->data.id != binattr_id)
{
ret_ptr++;
}
return ret_ptr;
};
sce_update_info->newRoomBinAttrInternalNum = update_info->newRoomBinAttrInternal()->size(); sce_update_info->newRoomBinAttrInternalNum = update_info->newRoomBinAttrInternal()->size();
vm::bpptr<SceNpMatching2RoomBinAttrInternal> binattr_info_array(allocate(4 * sce_update_info->newRoomBinAttrInternalNum)); vm::bpptr<SceNpMatching2RoomBinAttrInternal> binattr_info_array(allocate(4 * sce_update_info->newRoomBinAttrInternalNum));
for (uint i = 0; i < sce_update_info->newRoomBinAttrInternalNum; ++i) for (uint i = 0; i < sce_update_info->newRoomBinAttrInternalNum; ++i)
{ {
vm::ptr<SceNpMatching2RoomBinAttrInternal> binattr_info = allocate(sizeof(SceNpMatching2RoomBinAttrInternal) * sce_update_info->newRoomBinAttrInternalNum); binattr_info_array[i] = get_ptr_for_binattr(update_info->newRoomBinAttrInternal()->Get(i));
binattr_info_array[i] = binattr_info;
RoomBinAttrInternal_to_SceNpMatching2RoomBinAttrInternal(update_info->newRoomBinAttrInternal()->Get(i), binattr_info);
} }
sce_update_info->newRoomBinAttrInternal = binattr_info_array; sce_update_info->newRoomBinAttrInternal = binattr_info_array;
} }
@ -436,12 +433,7 @@ void np_handler::RoomMemberDataInternalUpdateInfo_to_SceNpMatching2RoomMemberDat
sce_update_info->newRoomMemberDataInternal = room_member_data; sce_update_info->newRoomMemberDataInternal = room_member_data;
RoomMemberDataInternal_to_SceNpMatching2RoomMemberDataInternal(update_info->newRoomMemberDataInternal(), nullptr, sce_update_info->newRoomMemberDataInternal.get_ptr()); RoomMemberDataInternal_to_SceNpMatching2RoomMemberDataInternal(update_info->newRoomMemberDataInternal(), nullptr, sce_update_info->newRoomMemberDataInternal.get_ptr());
if (update_info->newFlagAttr() == update_info->prevFlagAttr()) if (sce_update_info->newRoomMemberDataInternal->flagAttr != update_info->prevFlagAttr())
{
sce_update_info->newFlagAttr.set(0);
sce_update_info->prevFlagAttr.set(0);
}
else
{ {
sce_update_info->newFlagAttr = sce_update_info->newRoomMemberDataInternal.ptr(&SceNpMatching2RoomMemberDataInternal::flagAttr); sce_update_info->newFlagAttr = sce_update_info->newRoomMemberDataInternal.ptr(&SceNpMatching2RoomMemberDataInternal::flagAttr);
@ -450,17 +442,32 @@ void np_handler::RoomMemberDataInternalUpdateInfo_to_SceNpMatching2RoomMemberDat
sce_update_info->prevFlagAttr = prev_flag_attr; sce_update_info->prevFlagAttr = prev_flag_attr;
} }
if (sce_update_info->newRoomMemberDataInternal->teamId != update_info->prevTeamId())
{
sce_update_info->newTeamId = sce_update_info->newRoomMemberDataInternal.ptr(&SceNpMatching2RoomMemberDataInternal::teamId); sce_update_info->newTeamId = sce_update_info->newRoomMemberDataInternal.ptr(&SceNpMatching2RoomMemberDataInternal::teamId);
}
if (update_info->newRoomMemberBinAttrInternal() && update_info->newRoomMemberBinAttrInternal()->size() != 0) if (update_info->newRoomMemberBinAttrInternal() && update_info->newRoomMemberBinAttrInternal()->size() != 0)
{ {
sce_update_info->newRoomMemberBinAttrInternalNum = update_info->newRoomMemberBinAttrInternal()->size(); sce_update_info->newRoomMemberBinAttrInternalNum = update_info->newRoomMemberBinAttrInternal()->size();
vm::bpptr<SceNpMatching2RoomMemberBinAttrInternal> binattr_info_array(allocate(4 * sce_update_info->newRoomMemberBinAttrInternalNum)); vm::bpptr<SceNpMatching2RoomMemberBinAttrInternal> binattr_info_array(allocate(4 * sce_update_info->newRoomMemberBinAttrInternalNum));
auto get_binattr_vmptr = [&](u16 wanted_id) -> vm::ptr<SceNpMatching2RoomMemberBinAttrInternal> {
for (u32 i = 0; i < sce_update_info->newRoomMemberDataInternal->roomMemberBinAttrInternalNum; i++)
{
if (sce_update_info->newRoomMemberDataInternal->roomMemberBinAttrInternal[i].data.id == wanted_id)
{
return sce_update_info->newRoomMemberDataInternal->roomMemberBinAttrInternal + i;
}
}
rpcn_log.fatal("RoomMemberDataInternalUpdateInfo_to_SceNpMatching2RoomMemberDataInternalUpdateInfo: Invalid data from server!");
return vm::null;
};
for (uint i = 0; i < sce_update_info->newRoomMemberBinAttrInternalNum; ++i) for (uint i = 0; i < sce_update_info->newRoomMemberBinAttrInternalNum; ++i)
{ {
vm::ptr<SceNpMatching2RoomMemberBinAttrInternal> binattr_info = allocate(sizeof(SceNpMatching2RoomMemberBinAttrInternal) * sce_update_info->newRoomMemberBinAttrInternalNum); binattr_info_array[i] = get_binattr_vmptr(update_info->newRoomMemberBinAttrInternal()->Get(i));
binattr_info_array[i] = binattr_info;
RoomMemberBinAttrInternal_to_SceNpMatching2RoomMemberBinAttrInternal(update_info->newRoomMemberBinAttrInternal()->Get(i), binattr_info);
} }
sce_update_info->newRoomMemberBinAttrInternal = binattr_info_array; sce_update_info->newRoomMemberBinAttrInternal = binattr_info_array;
} }

View File

@ -197,8 +197,6 @@ table SetRoomMemberDataInternalRequest {
roomId:uint64; roomId:uint64;
memberId:uint16; memberId:uint16;
teamId:uint8; teamId:uint8;
flagFilter:uint32;
flagAttr:uint32;
roomMemberBinAttrInternal:[BinAttr]; roomMemberBinAttrInternal:[BinAttr];
} }
@ -221,20 +219,17 @@ table RoomUpdateInfo {
table RoomDataInternalUpdateInfo { table RoomDataInternalUpdateInfo {
newRoomDataInternal:RoomDataInternal; newRoomDataInternal:RoomDataInternal;
newFlagAttr:uint32;
prevFlagAttr:uint32; prevFlagAttr:uint32;
newRoomPasswordSlotMask:uint64;
prevRoomPasswordSlotMask:uint64; prevRoomPasswordSlotMask:uint64;
newRoomGroup:[RoomGroup]; newRoomGroup:[uint8];
newRoomBinAttrInternal:[BinAttrInternal]; newRoomBinAttrInternal:[uint16];
} }
table RoomMemberDataInternalUpdateInfo { table RoomMemberDataInternalUpdateInfo {
newRoomMemberDataInternal:RoomMemberDataInternal; newRoomMemberDataInternal:RoomMemberDataInternal;
newFlagAttr:uint32;
prevFlagAttr:uint32; prevFlagAttr:uint32;
newTeamId:uint8; prevTeamId:uint8;
newRoomMemberBinAttrInternal:[RoomMemberBinAttrInternal]; newRoomMemberBinAttrInternal:[uint16];
} }
table GetPingInfoResponse { table GetPingInfoResponse {

View File

@ -2514,9 +2514,7 @@ struct SetRoomMemberDataInternalRequest FLATBUFFERS_FINAL_CLASS : private flatbu
VT_ROOMID = 4, VT_ROOMID = 4,
VT_MEMBERID = 6, VT_MEMBERID = 6,
VT_TEAMID = 8, VT_TEAMID = 8,
VT_FLAGFILTER = 10, VT_ROOMMEMBERBINATTRINTERNAL = 10
VT_FLAGATTR = 12,
VT_ROOMMEMBERBINATTRINTERNAL = 14
}; };
uint64_t roomId() const { uint64_t roomId() const {
return GetField<uint64_t>(VT_ROOMID, 0); return GetField<uint64_t>(VT_ROOMID, 0);
@ -2527,12 +2525,6 @@ struct SetRoomMemberDataInternalRequest FLATBUFFERS_FINAL_CLASS : private flatbu
uint8_t teamId() const { uint8_t teamId() const {
return GetField<uint8_t>(VT_TEAMID, 0); return GetField<uint8_t>(VT_TEAMID, 0);
} }
uint32_t flagFilter() const {
return GetField<uint32_t>(VT_FLAGFILTER, 0);
}
uint32_t flagAttr() const {
return GetField<uint32_t>(VT_FLAGATTR, 0);
}
const flatbuffers::Vector<flatbuffers::Offset<BinAttr>> *roomMemberBinAttrInternal() const { const flatbuffers::Vector<flatbuffers::Offset<BinAttr>> *roomMemberBinAttrInternal() const {
return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<BinAttr>> *>(VT_ROOMMEMBERBINATTRINTERNAL); return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<BinAttr>> *>(VT_ROOMMEMBERBINATTRINTERNAL);
} }
@ -2541,8 +2533,6 @@ struct SetRoomMemberDataInternalRequest FLATBUFFERS_FINAL_CLASS : private flatbu
VerifyField<uint64_t>(verifier, VT_ROOMID) && VerifyField<uint64_t>(verifier, VT_ROOMID) &&
VerifyField<uint16_t>(verifier, VT_MEMBERID) && VerifyField<uint16_t>(verifier, VT_MEMBERID) &&
VerifyField<uint8_t>(verifier, VT_TEAMID) && VerifyField<uint8_t>(verifier, VT_TEAMID) &&
VerifyField<uint32_t>(verifier, VT_FLAGFILTER) &&
VerifyField<uint32_t>(verifier, VT_FLAGATTR) &&
VerifyOffset(verifier, VT_ROOMMEMBERBINATTRINTERNAL) && VerifyOffset(verifier, VT_ROOMMEMBERBINATTRINTERNAL) &&
verifier.VerifyVector(roomMemberBinAttrInternal()) && verifier.VerifyVector(roomMemberBinAttrInternal()) &&
verifier.VerifyVectorOfTables(roomMemberBinAttrInternal()) && verifier.VerifyVectorOfTables(roomMemberBinAttrInternal()) &&
@ -2563,12 +2553,6 @@ struct SetRoomMemberDataInternalRequestBuilder {
void add_teamId(uint8_t teamId) { void add_teamId(uint8_t teamId) {
fbb_.AddElement<uint8_t>(SetRoomMemberDataInternalRequest::VT_TEAMID, teamId, 0); fbb_.AddElement<uint8_t>(SetRoomMemberDataInternalRequest::VT_TEAMID, teamId, 0);
} }
void add_flagFilter(uint32_t flagFilter) {
fbb_.AddElement<uint32_t>(SetRoomMemberDataInternalRequest::VT_FLAGFILTER, flagFilter, 0);
}
void add_flagAttr(uint32_t flagAttr) {
fbb_.AddElement<uint32_t>(SetRoomMemberDataInternalRequest::VT_FLAGATTR, flagAttr, 0);
}
void add_roomMemberBinAttrInternal(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<BinAttr>>> roomMemberBinAttrInternal) { void add_roomMemberBinAttrInternal(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<BinAttr>>> roomMemberBinAttrInternal) {
fbb_.AddOffset(SetRoomMemberDataInternalRequest::VT_ROOMMEMBERBINATTRINTERNAL, roomMemberBinAttrInternal); fbb_.AddOffset(SetRoomMemberDataInternalRequest::VT_ROOMMEMBERBINATTRINTERNAL, roomMemberBinAttrInternal);
} }
@ -2588,14 +2572,10 @@ inline flatbuffers::Offset<SetRoomMemberDataInternalRequest> CreateSetRoomMember
uint64_t roomId = 0, uint64_t roomId = 0,
uint16_t memberId = 0, uint16_t memberId = 0,
uint8_t teamId = 0, uint8_t teamId = 0,
uint32_t flagFilter = 0,
uint32_t flagAttr = 0,
flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<BinAttr>>> roomMemberBinAttrInternal = 0) { flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<BinAttr>>> roomMemberBinAttrInternal = 0) {
SetRoomMemberDataInternalRequestBuilder builder_(_fbb); SetRoomMemberDataInternalRequestBuilder builder_(_fbb);
builder_.add_roomId(roomId); builder_.add_roomId(roomId);
builder_.add_roomMemberBinAttrInternal(roomMemberBinAttrInternal); builder_.add_roomMemberBinAttrInternal(roomMemberBinAttrInternal);
builder_.add_flagAttr(flagAttr);
builder_.add_flagFilter(flagFilter);
builder_.add_memberId(memberId); builder_.add_memberId(memberId);
builder_.add_teamId(teamId); builder_.add_teamId(teamId);
return builder_.Finish(); return builder_.Finish();
@ -2606,8 +2586,6 @@ inline flatbuffers::Offset<SetRoomMemberDataInternalRequest> CreateSetRoomMember
uint64_t roomId = 0, uint64_t roomId = 0,
uint16_t memberId = 0, uint16_t memberId = 0,
uint8_t teamId = 0, uint8_t teamId = 0,
uint32_t flagFilter = 0,
uint32_t flagAttr = 0,
const std::vector<flatbuffers::Offset<BinAttr>> *roomMemberBinAttrInternal = nullptr) { const std::vector<flatbuffers::Offset<BinAttr>> *roomMemberBinAttrInternal = nullptr) {
auto roomMemberBinAttrInternal__ = roomMemberBinAttrInternal ? _fbb.CreateVector<flatbuffers::Offset<BinAttr>>(*roomMemberBinAttrInternal) : 0; auto roomMemberBinAttrInternal__ = roomMemberBinAttrInternal ? _fbb.CreateVector<flatbuffers::Offset<BinAttr>>(*roomMemberBinAttrInternal) : 0;
return CreateSetRoomMemberDataInternalRequest( return CreateSetRoomMemberDataInternalRequest(
@ -2615,8 +2593,6 @@ inline flatbuffers::Offset<SetRoomMemberDataInternalRequest> CreateSetRoomMember
roomId, roomId,
memberId, memberId,
teamId, teamId,
flagFilter,
flagAttr,
roomMemberBinAttrInternal__); roomMemberBinAttrInternal__);
} }
@ -2812,48 +2788,36 @@ struct RoomDataInternalUpdateInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers:
typedef RoomDataInternalUpdateInfoBuilder Builder; typedef RoomDataInternalUpdateInfoBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_NEWROOMDATAINTERNAL = 4, VT_NEWROOMDATAINTERNAL = 4,
VT_NEWFLAGATTR = 6, VT_PREVFLAGATTR = 6,
VT_PREVFLAGATTR = 8, VT_PREVROOMPASSWORDSLOTMASK = 8,
VT_NEWROOMPASSWORDSLOTMASK = 10, VT_NEWROOMGROUP = 10,
VT_PREVROOMPASSWORDSLOTMASK = 12, VT_NEWROOMBINATTRINTERNAL = 12
VT_NEWROOMGROUP = 14,
VT_NEWROOMBINATTRINTERNAL = 16
}; };
const RoomDataInternal *newRoomDataInternal() const { const RoomDataInternal *newRoomDataInternal() const {
return GetPointer<const RoomDataInternal *>(VT_NEWROOMDATAINTERNAL); return GetPointer<const RoomDataInternal *>(VT_NEWROOMDATAINTERNAL);
} }
uint32_t newFlagAttr() const {
return GetField<uint32_t>(VT_NEWFLAGATTR, 0);
}
uint32_t prevFlagAttr() const { uint32_t prevFlagAttr() const {
return GetField<uint32_t>(VT_PREVFLAGATTR, 0); return GetField<uint32_t>(VT_PREVFLAGATTR, 0);
} }
uint64_t newRoomPasswordSlotMask() const {
return GetField<uint64_t>(VT_NEWROOMPASSWORDSLOTMASK, 0);
}
uint64_t prevRoomPasswordSlotMask() const { uint64_t prevRoomPasswordSlotMask() const {
return GetField<uint64_t>(VT_PREVROOMPASSWORDSLOTMASK, 0); return GetField<uint64_t>(VT_PREVROOMPASSWORDSLOTMASK, 0);
} }
const flatbuffers::Vector<flatbuffers::Offset<RoomGroup>> *newRoomGroup() const { const flatbuffers::Vector<uint8_t> *newRoomGroup() const {
return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<RoomGroup>> *>(VT_NEWROOMGROUP); return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_NEWROOMGROUP);
} }
const flatbuffers::Vector<flatbuffers::Offset<BinAttrInternal>> *newRoomBinAttrInternal() const { const flatbuffers::Vector<uint16_t> *newRoomBinAttrInternal() const {
return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<BinAttrInternal>> *>(VT_NEWROOMBINATTRINTERNAL); return GetPointer<const flatbuffers::Vector<uint16_t> *>(VT_NEWROOMBINATTRINTERNAL);
} }
bool Verify(flatbuffers::Verifier &verifier) const { bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) && return VerifyTableStart(verifier) &&
VerifyOffset(verifier, VT_NEWROOMDATAINTERNAL) && VerifyOffset(verifier, VT_NEWROOMDATAINTERNAL) &&
verifier.VerifyTable(newRoomDataInternal()) && verifier.VerifyTable(newRoomDataInternal()) &&
VerifyField<uint32_t>(verifier, VT_NEWFLAGATTR) &&
VerifyField<uint32_t>(verifier, VT_PREVFLAGATTR) && VerifyField<uint32_t>(verifier, VT_PREVFLAGATTR) &&
VerifyField<uint64_t>(verifier, VT_NEWROOMPASSWORDSLOTMASK) &&
VerifyField<uint64_t>(verifier, VT_PREVROOMPASSWORDSLOTMASK) && VerifyField<uint64_t>(verifier, VT_PREVROOMPASSWORDSLOTMASK) &&
VerifyOffset(verifier, VT_NEWROOMGROUP) && VerifyOffset(verifier, VT_NEWROOMGROUP) &&
verifier.VerifyVector(newRoomGroup()) && verifier.VerifyVector(newRoomGroup()) &&
verifier.VerifyVectorOfTables(newRoomGroup()) &&
VerifyOffset(verifier, VT_NEWROOMBINATTRINTERNAL) && VerifyOffset(verifier, VT_NEWROOMBINATTRINTERNAL) &&
verifier.VerifyVector(newRoomBinAttrInternal()) && verifier.VerifyVector(newRoomBinAttrInternal()) &&
verifier.VerifyVectorOfTables(newRoomBinAttrInternal()) &&
verifier.EndTable(); verifier.EndTable();
} }
}; };
@ -2865,22 +2829,16 @@ struct RoomDataInternalUpdateInfoBuilder {
void add_newRoomDataInternal(flatbuffers::Offset<RoomDataInternal> newRoomDataInternal) { void add_newRoomDataInternal(flatbuffers::Offset<RoomDataInternal> newRoomDataInternal) {
fbb_.AddOffset(RoomDataInternalUpdateInfo::VT_NEWROOMDATAINTERNAL, newRoomDataInternal); fbb_.AddOffset(RoomDataInternalUpdateInfo::VT_NEWROOMDATAINTERNAL, newRoomDataInternal);
} }
void add_newFlagAttr(uint32_t newFlagAttr) {
fbb_.AddElement<uint32_t>(RoomDataInternalUpdateInfo::VT_NEWFLAGATTR, newFlagAttr, 0);
}
void add_prevFlagAttr(uint32_t prevFlagAttr) { void add_prevFlagAttr(uint32_t prevFlagAttr) {
fbb_.AddElement<uint32_t>(RoomDataInternalUpdateInfo::VT_PREVFLAGATTR, prevFlagAttr, 0); fbb_.AddElement<uint32_t>(RoomDataInternalUpdateInfo::VT_PREVFLAGATTR, prevFlagAttr, 0);
} }
void add_newRoomPasswordSlotMask(uint64_t newRoomPasswordSlotMask) {
fbb_.AddElement<uint64_t>(RoomDataInternalUpdateInfo::VT_NEWROOMPASSWORDSLOTMASK, newRoomPasswordSlotMask, 0);
}
void add_prevRoomPasswordSlotMask(uint64_t prevRoomPasswordSlotMask) { void add_prevRoomPasswordSlotMask(uint64_t prevRoomPasswordSlotMask) {
fbb_.AddElement<uint64_t>(RoomDataInternalUpdateInfo::VT_PREVROOMPASSWORDSLOTMASK, prevRoomPasswordSlotMask, 0); fbb_.AddElement<uint64_t>(RoomDataInternalUpdateInfo::VT_PREVROOMPASSWORDSLOTMASK, prevRoomPasswordSlotMask, 0);
} }
void add_newRoomGroup(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<RoomGroup>>> newRoomGroup) { void add_newRoomGroup(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> newRoomGroup) {
fbb_.AddOffset(RoomDataInternalUpdateInfo::VT_NEWROOMGROUP, newRoomGroup); fbb_.AddOffset(RoomDataInternalUpdateInfo::VT_NEWROOMGROUP, newRoomGroup);
} }
void add_newRoomBinAttrInternal(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<BinAttrInternal>>> newRoomBinAttrInternal) { void add_newRoomBinAttrInternal(flatbuffers::Offset<flatbuffers::Vector<uint16_t>> newRoomBinAttrInternal) {
fbb_.AddOffset(RoomDataInternalUpdateInfo::VT_NEWROOMBINATTRINTERNAL, newRoomBinAttrInternal); fbb_.AddOffset(RoomDataInternalUpdateInfo::VT_NEWROOMBINATTRINTERNAL, newRoomBinAttrInternal);
} }
explicit RoomDataInternalUpdateInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb) explicit RoomDataInternalUpdateInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb)
@ -2897,19 +2855,15 @@ struct RoomDataInternalUpdateInfoBuilder {
inline flatbuffers::Offset<RoomDataInternalUpdateInfo> CreateRoomDataInternalUpdateInfo( inline flatbuffers::Offset<RoomDataInternalUpdateInfo> CreateRoomDataInternalUpdateInfo(
flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::FlatBufferBuilder &_fbb,
flatbuffers::Offset<RoomDataInternal> newRoomDataInternal = 0, flatbuffers::Offset<RoomDataInternal> newRoomDataInternal = 0,
uint32_t newFlagAttr = 0,
uint32_t prevFlagAttr = 0, uint32_t prevFlagAttr = 0,
uint64_t newRoomPasswordSlotMask = 0,
uint64_t prevRoomPasswordSlotMask = 0, uint64_t prevRoomPasswordSlotMask = 0,
flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<RoomGroup>>> newRoomGroup = 0, flatbuffers::Offset<flatbuffers::Vector<uint8_t>> newRoomGroup = 0,
flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<BinAttrInternal>>> newRoomBinAttrInternal = 0) { flatbuffers::Offset<flatbuffers::Vector<uint16_t>> newRoomBinAttrInternal = 0) {
RoomDataInternalUpdateInfoBuilder builder_(_fbb); RoomDataInternalUpdateInfoBuilder builder_(_fbb);
builder_.add_prevRoomPasswordSlotMask(prevRoomPasswordSlotMask); builder_.add_prevRoomPasswordSlotMask(prevRoomPasswordSlotMask);
builder_.add_newRoomPasswordSlotMask(newRoomPasswordSlotMask);
builder_.add_newRoomBinAttrInternal(newRoomBinAttrInternal); builder_.add_newRoomBinAttrInternal(newRoomBinAttrInternal);
builder_.add_newRoomGroup(newRoomGroup); builder_.add_newRoomGroup(newRoomGroup);
builder_.add_prevFlagAttr(prevFlagAttr); builder_.add_prevFlagAttr(prevFlagAttr);
builder_.add_newFlagAttr(newFlagAttr);
builder_.add_newRoomDataInternal(newRoomDataInternal); builder_.add_newRoomDataInternal(newRoomDataInternal);
return builder_.Finish(); return builder_.Finish();
} }
@ -2917,20 +2871,16 @@ inline flatbuffers::Offset<RoomDataInternalUpdateInfo> CreateRoomDataInternalUpd
inline flatbuffers::Offset<RoomDataInternalUpdateInfo> CreateRoomDataInternalUpdateInfoDirect( inline flatbuffers::Offset<RoomDataInternalUpdateInfo> CreateRoomDataInternalUpdateInfoDirect(
flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::FlatBufferBuilder &_fbb,
flatbuffers::Offset<RoomDataInternal> newRoomDataInternal = 0, flatbuffers::Offset<RoomDataInternal> newRoomDataInternal = 0,
uint32_t newFlagAttr = 0,
uint32_t prevFlagAttr = 0, uint32_t prevFlagAttr = 0,
uint64_t newRoomPasswordSlotMask = 0,
uint64_t prevRoomPasswordSlotMask = 0, uint64_t prevRoomPasswordSlotMask = 0,
const std::vector<flatbuffers::Offset<RoomGroup>> *newRoomGroup = nullptr, const std::vector<uint8_t> *newRoomGroup = nullptr,
const std::vector<flatbuffers::Offset<BinAttrInternal>> *newRoomBinAttrInternal = nullptr) { const std::vector<uint16_t> *newRoomBinAttrInternal = nullptr) {
auto newRoomGroup__ = newRoomGroup ? _fbb.CreateVector<flatbuffers::Offset<RoomGroup>>(*newRoomGroup) : 0; auto newRoomGroup__ = newRoomGroup ? _fbb.CreateVector<uint8_t>(*newRoomGroup) : 0;
auto newRoomBinAttrInternal__ = newRoomBinAttrInternal ? _fbb.CreateVector<flatbuffers::Offset<BinAttrInternal>>(*newRoomBinAttrInternal) : 0; auto newRoomBinAttrInternal__ = newRoomBinAttrInternal ? _fbb.CreateVector<uint16_t>(*newRoomBinAttrInternal) : 0;
return CreateRoomDataInternalUpdateInfo( return CreateRoomDataInternalUpdateInfo(
_fbb, _fbb,
newRoomDataInternal, newRoomDataInternal,
newFlagAttr,
prevFlagAttr, prevFlagAttr,
newRoomPasswordSlotMask,
prevRoomPasswordSlotMask, prevRoomPasswordSlotMask,
newRoomGroup__, newRoomGroup__,
newRoomBinAttrInternal__); newRoomBinAttrInternal__);
@ -2940,36 +2890,30 @@ struct RoomMemberDataInternalUpdateInfo FLATBUFFERS_FINAL_CLASS : private flatbu
typedef RoomMemberDataInternalUpdateInfoBuilder Builder; typedef RoomMemberDataInternalUpdateInfoBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_NEWROOMMEMBERDATAINTERNAL = 4, VT_NEWROOMMEMBERDATAINTERNAL = 4,
VT_NEWFLAGATTR = 6, VT_PREVFLAGATTR = 6,
VT_PREVFLAGATTR = 8, VT_PREVTEAMID = 8,
VT_NEWTEAMID = 10, VT_NEWROOMMEMBERBINATTRINTERNAL = 10
VT_NEWROOMMEMBERBINATTRINTERNAL = 12
}; };
const RoomMemberDataInternal *newRoomMemberDataInternal() const { const RoomMemberDataInternal *newRoomMemberDataInternal() const {
return GetPointer<const RoomMemberDataInternal *>(VT_NEWROOMMEMBERDATAINTERNAL); return GetPointer<const RoomMemberDataInternal *>(VT_NEWROOMMEMBERDATAINTERNAL);
} }
uint32_t newFlagAttr() const {
return GetField<uint32_t>(VT_NEWFLAGATTR, 0);
}
uint32_t prevFlagAttr() const { uint32_t prevFlagAttr() const {
return GetField<uint32_t>(VT_PREVFLAGATTR, 0); return GetField<uint32_t>(VT_PREVFLAGATTR, 0);
} }
uint8_t newTeamId() const { uint8_t prevTeamId() const {
return GetField<uint8_t>(VT_NEWTEAMID, 0); return GetField<uint8_t>(VT_PREVTEAMID, 0);
} }
const flatbuffers::Vector<flatbuffers::Offset<RoomMemberBinAttrInternal>> *newRoomMemberBinAttrInternal() const { const flatbuffers::Vector<uint16_t> *newRoomMemberBinAttrInternal() const {
return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<RoomMemberBinAttrInternal>> *>(VT_NEWROOMMEMBERBINATTRINTERNAL); return GetPointer<const flatbuffers::Vector<uint16_t> *>(VT_NEWROOMMEMBERBINATTRINTERNAL);
} }
bool Verify(flatbuffers::Verifier &verifier) const { bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) && return VerifyTableStart(verifier) &&
VerifyOffset(verifier, VT_NEWROOMMEMBERDATAINTERNAL) && VerifyOffset(verifier, VT_NEWROOMMEMBERDATAINTERNAL) &&
verifier.VerifyTable(newRoomMemberDataInternal()) && verifier.VerifyTable(newRoomMemberDataInternal()) &&
VerifyField<uint32_t>(verifier, VT_NEWFLAGATTR) &&
VerifyField<uint32_t>(verifier, VT_PREVFLAGATTR) && VerifyField<uint32_t>(verifier, VT_PREVFLAGATTR) &&
VerifyField<uint8_t>(verifier, VT_NEWTEAMID) && VerifyField<uint8_t>(verifier, VT_PREVTEAMID) &&
VerifyOffset(verifier, VT_NEWROOMMEMBERBINATTRINTERNAL) && VerifyOffset(verifier, VT_NEWROOMMEMBERBINATTRINTERNAL) &&
verifier.VerifyVector(newRoomMemberBinAttrInternal()) && verifier.VerifyVector(newRoomMemberBinAttrInternal()) &&
verifier.VerifyVectorOfTables(newRoomMemberBinAttrInternal()) &&
verifier.EndTable(); verifier.EndTable();
} }
}; };
@ -2981,16 +2925,13 @@ struct RoomMemberDataInternalUpdateInfoBuilder {
void add_newRoomMemberDataInternal(flatbuffers::Offset<RoomMemberDataInternal> newRoomMemberDataInternal) { void add_newRoomMemberDataInternal(flatbuffers::Offset<RoomMemberDataInternal> newRoomMemberDataInternal) {
fbb_.AddOffset(RoomMemberDataInternalUpdateInfo::VT_NEWROOMMEMBERDATAINTERNAL, newRoomMemberDataInternal); fbb_.AddOffset(RoomMemberDataInternalUpdateInfo::VT_NEWROOMMEMBERDATAINTERNAL, newRoomMemberDataInternal);
} }
void add_newFlagAttr(uint32_t newFlagAttr) {
fbb_.AddElement<uint32_t>(RoomMemberDataInternalUpdateInfo::VT_NEWFLAGATTR, newFlagAttr, 0);
}
void add_prevFlagAttr(uint32_t prevFlagAttr) { void add_prevFlagAttr(uint32_t prevFlagAttr) {
fbb_.AddElement<uint32_t>(RoomMemberDataInternalUpdateInfo::VT_PREVFLAGATTR, prevFlagAttr, 0); fbb_.AddElement<uint32_t>(RoomMemberDataInternalUpdateInfo::VT_PREVFLAGATTR, prevFlagAttr, 0);
} }
void add_newTeamId(uint8_t newTeamId) { void add_prevTeamId(uint8_t prevTeamId) {
fbb_.AddElement<uint8_t>(RoomMemberDataInternalUpdateInfo::VT_NEWTEAMID, newTeamId, 0); fbb_.AddElement<uint8_t>(RoomMemberDataInternalUpdateInfo::VT_PREVTEAMID, prevTeamId, 0);
} }
void add_newRoomMemberBinAttrInternal(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<RoomMemberBinAttrInternal>>> newRoomMemberBinAttrInternal) { void add_newRoomMemberBinAttrInternal(flatbuffers::Offset<flatbuffers::Vector<uint16_t>> newRoomMemberBinAttrInternal) {
fbb_.AddOffset(RoomMemberDataInternalUpdateInfo::VT_NEWROOMMEMBERBINATTRINTERNAL, newRoomMemberBinAttrInternal); fbb_.AddOffset(RoomMemberDataInternalUpdateInfo::VT_NEWROOMMEMBERBINATTRINTERNAL, newRoomMemberBinAttrInternal);
} }
explicit RoomMemberDataInternalUpdateInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb) explicit RoomMemberDataInternalUpdateInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb)
@ -3007,33 +2948,29 @@ struct RoomMemberDataInternalUpdateInfoBuilder {
inline flatbuffers::Offset<RoomMemberDataInternalUpdateInfo> CreateRoomMemberDataInternalUpdateInfo( inline flatbuffers::Offset<RoomMemberDataInternalUpdateInfo> CreateRoomMemberDataInternalUpdateInfo(
flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::FlatBufferBuilder &_fbb,
flatbuffers::Offset<RoomMemberDataInternal> newRoomMemberDataInternal = 0, flatbuffers::Offset<RoomMemberDataInternal> newRoomMemberDataInternal = 0,
uint32_t newFlagAttr = 0,
uint32_t prevFlagAttr = 0, uint32_t prevFlagAttr = 0,
uint8_t newTeamId = 0, uint8_t prevTeamId = 0,
flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<RoomMemberBinAttrInternal>>> newRoomMemberBinAttrInternal = 0) { flatbuffers::Offset<flatbuffers::Vector<uint16_t>> newRoomMemberBinAttrInternal = 0) {
RoomMemberDataInternalUpdateInfoBuilder builder_(_fbb); RoomMemberDataInternalUpdateInfoBuilder builder_(_fbb);
builder_.add_newRoomMemberBinAttrInternal(newRoomMemberBinAttrInternal); builder_.add_newRoomMemberBinAttrInternal(newRoomMemberBinAttrInternal);
builder_.add_prevFlagAttr(prevFlagAttr); builder_.add_prevFlagAttr(prevFlagAttr);
builder_.add_newFlagAttr(newFlagAttr);
builder_.add_newRoomMemberDataInternal(newRoomMemberDataInternal); builder_.add_newRoomMemberDataInternal(newRoomMemberDataInternal);
builder_.add_newTeamId(newTeamId); builder_.add_prevTeamId(prevTeamId);
return builder_.Finish(); return builder_.Finish();
} }
inline flatbuffers::Offset<RoomMemberDataInternalUpdateInfo> CreateRoomMemberDataInternalUpdateInfoDirect( inline flatbuffers::Offset<RoomMemberDataInternalUpdateInfo> CreateRoomMemberDataInternalUpdateInfoDirect(
flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::FlatBufferBuilder &_fbb,
flatbuffers::Offset<RoomMemberDataInternal> newRoomMemberDataInternal = 0, flatbuffers::Offset<RoomMemberDataInternal> newRoomMemberDataInternal = 0,
uint32_t newFlagAttr = 0,
uint32_t prevFlagAttr = 0, uint32_t prevFlagAttr = 0,
uint8_t newTeamId = 0, uint8_t prevTeamId = 0,
const std::vector<flatbuffers::Offset<RoomMemberBinAttrInternal>> *newRoomMemberBinAttrInternal = nullptr) { const std::vector<uint16_t> *newRoomMemberBinAttrInternal = nullptr) {
auto newRoomMemberBinAttrInternal__ = newRoomMemberBinAttrInternal ? _fbb.CreateVector<flatbuffers::Offset<RoomMemberBinAttrInternal>>(*newRoomMemberBinAttrInternal) : 0; auto newRoomMemberBinAttrInternal__ = newRoomMemberBinAttrInternal ? _fbb.CreateVector<uint16_t>(*newRoomMemberBinAttrInternal) : 0;
return CreateRoomMemberDataInternalUpdateInfo( return CreateRoomMemberDataInternalUpdateInfo(
_fbb, _fbb,
newRoomMemberDataInternal, newRoomMemberDataInternal,
newFlagAttr,
prevFlagAttr, prevFlagAttr,
newTeamId, prevTeamId,
newRoomMemberBinAttrInternal__); newRoomMemberBinAttrInternal__);
} }

View File

@ -1490,7 +1490,7 @@ namespace rpcn
final_binattrinternal_vec = builder.CreateVector(davec); final_binattrinternal_vec = builder.CreateVector(davec);
} }
auto req_finished = CreateSetRoomMemberDataInternalRequest(builder, req->roomId, req->memberId, req->teamId, req->flagFilter, req->flagAttr, final_binattrinternal_vec); auto req_finished = CreateSetRoomMemberDataInternalRequest(builder, req->roomId, req->memberId, req->teamId, final_binattrinternal_vec);
builder.Finish(req_finished); builder.Finish(req_finished);
u8* buf = builder.GetBufferPointer(); u8* buf = builder.GetBufferPointer();
@ -1667,6 +1667,7 @@ namespace rpcn
case CreationBannedEmailProvider: rpcn_log.error("Error creating an account: banned email provider!"); break; case CreationBannedEmailProvider: rpcn_log.error("Error creating an account: banned email provider!"); break;
case CreationExistingEmail: rpcn_log.error("Error creating an account: an account with that email already exist!"); break; case CreationExistingEmail: rpcn_log.error("Error creating an account: an account with that email already exist!"); break;
case AlreadyJoined: rpcn_log.error("User has already joined!"); break; case AlreadyJoined: rpcn_log.error("User has already joined!"); break;
case Unauthorized: rpcn_log.error("User attempted an unauthorized operation!");
case DbFail: rpcn_log.error("A db query failed on the server!"); break; case DbFail: rpcn_log.error("A db query failed on the server!"); break;
case EmailFail: rpcn_log.error("An email action failed on the server!"); break; case EmailFail: rpcn_log.error("An email action failed on the server!"); break;
case NotFound: rpcn_log.error("A request replied not found!"); break; case NotFound: rpcn_log.error("A request replied not found!"); break;

View File

@ -190,6 +190,7 @@ namespace rpcn
CreationBannedEmailProvider, // Specific to Account Creation: the email provider is banned CreationBannedEmailProvider, // Specific to Account Creation: the email provider is banned
CreationExistingEmail, // Specific to Account Creation: that email is already registered to an account CreationExistingEmail, // Specific to Account Creation: that email is already registered to an account
AlreadyJoined, // User tried to join a room he's already part of AlreadyJoined, // User tried to join a room he's already part of
Unauthorized, // User attempted an unauthorized operation
DbFail, // Generic failure on db side DbFail, // Generic failure on db side
EmailFail, // Generic failure related to email EmailFail, // Generic failure related to email
NotFound, // Object of the query was not found(room, user, etc) NotFound, // Object of the query was not found(room, user, etc)