Lines Matching refs:parsedDataIndex
247 const std::string& data, uint32_t& parsedDataIndex)
249 layout.typeLength = NfcSdkCommon::GetByteFromHexStr(data, parsedDataIndex++) & 0xFF;
251 layout.payloadLength = NfcSdkCommon::GetByteFromHexStr(data, parsedDataIndex++) & 0xFF;
253 if (NfcSdkCommon::GetHexStrBytesLen(data) < parsedDataIndex + int(sizeof(int))) {
256 std::string lenString = data.substr(parsedDataIndex * HEX_BYTE_LEN, sizeof(int) * HEX_BYTE_LEN);
262 parsedDataIndex += sizeof(int);
265 layout.idLength = layout.il ? (NfcSdkCommon::GetByteFromHexStr(data, parsedDataIndex++) & 0xFF) : 0;
291 std::string NdefMessage::ParseRecordType(RecordLayout& layout, const std::string& data, uint32_t& parsedDataIndex)
297 if (NfcSdkCommon::GetHexStrBytesLen(data) < parsedDataIndex + layout.typeLength) {
299 NfcSdkCommon::GetHexStrBytesLen(data), parsedDataIndex, layout.typeLength);
302 std::string type = data.substr(parsedDataIndex * HEX_BYTE_LEN, layout.typeLength * HEX_BYTE_LEN);
303 parsedDataIndex += layout.typeLength;
307 std::string NdefMessage::ParseRecordId(RecordLayout& layout, const std::string& data, uint32_t& parsedDataIndex)
313 if (NfcSdkCommon::GetHexStrBytesLen(data) < parsedDataIndex + layout.idLength) {
315 NfcSdkCommon::GetHexStrBytesLen(data), parsedDataIndex, layout.idLength);
318 std::string id = data.substr(parsedDataIndex * HEX_BYTE_LEN, layout.idLength * HEX_BYTE_LEN);
319 parsedDataIndex += layout.idLength;
323 std::string NdefMessage::ParseRecordPayload(RecordLayout& layout, const std::string& data, uint32_t& parsedDataIndex)
329 if (NfcSdkCommon::GetHexStrBytesLen(data) < (parsedDataIndex + layout.payloadLength)) {
331 NfcSdkCommon::GetHexStrBytesLen(data), parsedDataIndex, layout.payloadLength);
334 std::string payload = data.substr(parsedDataIndex * HEX_BYTE_LEN, layout.payloadLength * HEX_BYTE_LEN);
335 parsedDataIndex += layout.payloadLength;
427 uint32_t parsedDataIndex = 0;
430 ParseRecordLayoutHead(layout, NfcSdkCommon::GetByteFromHexStr(data, parsedDataIndex++));
433 if (data.size() / HEX_BYTE_LEN < parsedDataIndex) {
436 if ((data.size() / HEX_BYTE_LEN - parsedDataIndex) < MIN_RECORD_LEN && !isMessageEnd) {
443 ParseRecordLayoutLength(layout, isChunkFound, data, parsedDataIndex);
451 tagRtdType = ParseRecordType(layout, data, parsedDataIndex);
452 id = ParseRecordId(layout, data, parsedDataIndex);
456 std::string payload = ParseRecordPayload(layout, data, parsedDataIndex);