Beispiel #1
0
        public static ChatServerData read(BinaryReader binaryReader)
        {
            var newObj = new ChatServerData();

            newObj.cbSize             = binaryReader.ReadUInt32();
            newObj.m_blobType         = (ChatNetworkBlobType)binaryReader.ReadUInt32();
            newObj.m_blobDispatchType = (AsyncMethodID)binaryReader.ReadUInt32();
            newObj.m_targetType       = binaryReader.ReadUInt32();             // Always 1 in pcaps
            newObj.m_targetID         = binaryReader.ReadUInt32();
            newObj.m_transportType    = binaryReader.ReadUInt32();             // Pcaps contain either a 0 or a 1 (Perhaps ChatEventType?)
            newObj.m_transportID      = binaryReader.ReadUInt32();
            newObj.m_cookie           = binaryReader.ReadUInt32();             // Always 0 in pcaps

            if (newObj.m_blobType == ChatNetworkBlobType.NETBLOB_EVENT_BINARY) // Server to client
            {
                newObj.sendToRoomChatEvent = SendToRoomChatEvent.read(binaryReader);
            }
            else if (newObj.m_blobType == ChatNetworkBlobType.NETBLOB_REQUEST_BINARY) // Client to server
            {
                newObj.request = Request.read(binaryReader, newObj.m_blobDispatchType);
            }
            else if (newObj.m_blobType == ChatNetworkBlobType.NETBLOB_RESPONSE_BINARY) // Server to client acknowledgement
            {
                newObj.response = Response.read(binaryReader);
            }

            return(newObj);
        }
Beispiel #2
0
        public static SendToRoomChatEvent read(BinaryReader binaryReader)
        {
            SendToRoomChatEvent newObj = new SendToRoomChatEvent();

            newObj.cbSize          = binaryReader.ReadUInt32();
            newObj.dwRoomID        = binaryReader.ReadUInt32();
            newObj.pwszDisplayName = Util.readUnicodeString(binaryReader);
            newObj.pwszText        = Util.readUnicodeString(binaryReader);
            newObj.extraInfoBlob   = TurbineChatBlob.read(binaryReader);
            return(newObj);
        }
Beispiel #3
0
        public static SendToRoomChatEvent read(BinaryReader binaryReader)
        {
            SendToRoomChatEvent newObj = new SendToRoomChatEvent();
            var startPosition          = binaryReader.BaseStream.Position;

            newObj.cbSize          = binaryReader.ReadUInt32();
            newObj.dwRoomID        = binaryReader.ReadUInt32();
            newObj.pwszDisplayName = Util.readUnicodeString(binaryReader);
            newObj.pwszText        = Util.readUnicodeString(binaryReader);
            newObj.extraInfoBlob   = TurbineChatBlob.read(binaryReader);
            newObj.Length          = (int)(binaryReader.BaseStream.Position - startPosition);
            return(newObj);
        }