/// <summary> /// Retrieves the String representation of the raw bytes. /// The string will include the type and the size of the element parsed. </summary> /// <param name="data"> array of bytes containing data result from a dlms-get </param> /// <returns> A String that represents the data </returns> /// <exception cref="DlmsException"> </exception> public static DlmsItem getDlmsItem(byte[] data) { verify(data); DlmsType type = DlmsType.fromTag(data[0]); DlmsItem item = new DlmsItem(type, getString(data)); int numberOfItems = getNumberOfItems(type, data); for (int i = 0; i < numberOfItems; ++i) { parseItems(item, getNextData(data)); } return(item); }
private static byte[] parseItems(DlmsItem parent, byte[] data) { if (data.Length == 0) { return(data); } DlmsType type = DlmsType.fromTag(data[0]); DlmsItem item = new DlmsItem(type, getString(data)); parent.addChildren(item); int numberOfItems = getNumberOfItems(type, data); for (int i = 0; i < numberOfItems; ++i) { parseItems(item, getNextData(data)); } return(data); }
public void addChildren(DlmsItem item) { children.Add(item); }