--- a
+++ b/project/sparkplug™_mqtt_edge_and_host-stack_b9741afd/function_blocks_8ad6e219/fb_payload_ad205903/fb_payload_ddc74abf/decode_ada081bc/decodenextstring_9056fe89/9056fe898491435a9e429c87e53964c4.object
@@ -0,0 +1 @@
+{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)9056fe89-8491-435a-9e42-9c87e53964c4","ParentGuid":"(Guid)ddc74abf-e7a4-407a-a4f5-0c8338e771b9","Name":"(string)DecodeNextString","Properties":{"@Type":"2c41fa04:IDictionary","@Value":[{"@Key":"(Guid)829a18f2-c514-4f6e-9634-1df173429203","@Value":{"@Type":"829a18f2","@Value":{"ParentObjects":{"@Type":"fa2ee218:IDictionary","@Value":[{"@Key":"(Guid)21af5390-2942-461a-bf89-951aaf6999f1","@Value":"(Guid)ada081bc-eb7a-454c-99d0-0ff08ee6247f"}]}}}}]},"TypeGuid":"(Guid)f8a58466-d7f6-439f-bbb8-d4600e41d099","EmbeddedTypeGuids":{"@Type":"[Guid]","@Value":["(Guid)a9ed5b7e-75c5-4651-af16-d2c27e98cb94","(Guid)3b83b776-fb25-43b8-99f2-3c507c9143fc"]}}},"TypeInfos":{"2c41fa04":"{2c41fa04-1834-41c1-816e-303c7aa2c05b}","81297157":"{81297157-7ec9-45ce-845e-84cab2b88ade}","829a18f2":"{829a18f2-c514-4f6e-9634-1df173429203}","fa2ee218":"{fa2ee218-a39b-4b6d-b249-49dbddbd168a}","Guid":"System.Guid","string":"System.String"}},"object":{"Graph":{"@Type":"f8a58466","@Value":{"Implementation":{"@Type":"3b83b776","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)480","Tag":null,"Text":"(string)//i will start pointing to the first byte of the varint representing the string length"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)481","Tag":null,"Text":"(string)//get the length"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)482","Tag":null,"Text":"(string)dviTemp := DecodeNextVarInt();"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)483","Tag":null,"Text":"(string)//i is now pointing to one byte before the first byte of the string"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)484","Tag":null,"Text":"(string)length := dviTemp.Int32;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)485","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)486","Tag":null,"Text":"(string)//to use this function, we're going to need a zero on the end"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)487","Tag":null,"Text":"(string)IF i + 1 + length < _protobufBlobUpper THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)488","Tag":null,"Text":"(string)    StoreTheByteTemporarily := myProtobufBlob[i + 1 + length]; //store the byte one after this string"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)489","Tag":null,"Text":"(string)    TerminateString(psIn := ADR(myProtobufBlob[i + 1]),"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)490","Tag":null,"Text":"(string)        udiLength := TO_UDINT(length)); //psIn[udiLength] := 0;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)491","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)492","Tag":null,"Text":"(string)    myCmpErrorsDotErrors := STU.ConvertUTF8toUTF16(sourceStart := ADR(myProtobufBlob[i + 1]),"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)493","Tag":null,"Text":"(string)        targetStart := ADR(DecodeNextString),"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)494","Tag":null,"Text":"(string)        dwTargetBufferSize := SIZEOF(DecodeNextString),"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)495","Tag":null,"Text":"(string)        bStrictConversion := FALSE);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)496","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)497","Tag":null,"Text":"(string)    myProtobufBlob[i + 1 + length] := StoreTheByteTemporarily;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)498","Tag":null,"Text":"(string)ELSE //WeOwnThePreviousByte"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)499","Tag":null,"Text":"(string)    StoreTheByteTemporarily := myProtobufBlob[i]; //store whatever the previous byte was"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)500","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)501","Tag":null,"Text":"(string)    FOR j := 0 TO length - 1 DO //SHIFT THE MEMORY UP ONE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)502","Tag":null,"Text":"(string)        myProtobufBlob[i + j] := myProtobufBlob[i + 1 + j];"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)503","Tag":null,"Text":"(string)    END_FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)504","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)505","Tag":null,"Text":"(string)    TerminateString(psIn := ADR(myProtobufBlob[i]),"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)506","Tag":null,"Text":"(string)        udiLength := TO_UDINT(length)); //psIn[udiLength] := 0;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)507","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)508","Tag":null,"Text":"(string)    myCmpErrorsDotErrors := STU.ConvertUTF8toUTF16(sourceStart := ADR(myProtobufBlob[i]),"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)509","Tag":null,"Text":"(string)        targetStart := ADR(DecodeNextString),"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)510","Tag":null,"Text":"(string)        dwTargetBufferSize := SIZEOF(DecodeNextString),"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)511","Tag":null,"Text":"(string)        bStrictConversion := FALSE);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)512","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)513","Tag":null,"Text":"(string)    FOR j := length - 1 TO 0 BY -1 DO //SHIFT THE MEMORY DOWN ONE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)514","Tag":null,"Text":"(string)        myProtobufBlob[i + 1 + j] := myProtobufBlob[i + j];"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)515","Tag":null,"Text":"(string)    END_FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)516","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)517","Tag":null,"Text":"(string)    //put the temporarily stored data back in its place"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)518","Tag":null,"Text":"(string)    myProtobufBlob[myProtobufBlob[i - 1]] := StoreTheByteTemporarily;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)519","Tag":null,"Text":"(string)END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)520","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)521","Tag":null,"Text":"(string)i := i + length;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)83","Tag":null,"Text":"(string)//returns with i pointing to the last byte of the ProtobufString"}}]}}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)474","Tag":null,"Text":"(string)METHOD DecodeNextString : WSTRING(GC_Sparkplug.supported_string_lengths)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)475","Tag":null,"Text":"(string)VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)476","Tag":null,"Text":"(string)    length : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)477","Tag":null,"Text":"(string)    myCmpErrorsDotErrors : UDINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)478","Tag":null,"Text":"(string)    StoreTheByteTemporarily : BYTE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)479","Tag":null,"Text":"(string)    j : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)28","Tag":null,"Text":"(string)END_VAR"}}]}}}}}}},"TypeInfos":{"3b83b776":"{3b83b776-fb25-43b8-99f2-3c507c9143fc}","a5de0b0b":"{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}","a9ed5b7e":"{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}","f3878285":"{f3878285-8e4f-490b-bb1b-9acbb7eb04db}","f8a58466":"{f8a58466-d7f6-439f-bbb8-d4600e41d099}","long":"System.Int64","string":"System.String"}}},"FormatVersion":"1.0"}
\ No newline at end of file