blob: 7ed17a0a8068bdd5a7f76d09e967372531ce9951 [file] [log] [blame]
package com.google.chip.chiptool.util
import chip.tlv.AnonymousTag
import chip.tlv.TlvReader
import chip.tlv.TlvWriter
import com.google.protobuf.ByteString
object TlvParseUtil {
fun encode(input: Boolean): ByteArray {
val tlvWriter = TlvWriter()
tlvWriter.put(AnonymousTag, input)
return tlvWriter.getEncoded();
}
fun encode(input: String): ByteArray {
val tlvWriter = TlvWriter()
tlvWriter.put(AnonymousTag, input)
return tlvWriter.getEncoded();
}
fun encode(input: ULong): ByteArray {
val tlvWriter = TlvWriter()
tlvWriter.put(AnonymousTag, input)
return tlvWriter.getEncoded();
}
fun encode(input: Long): ByteArray {
val tlvWriter = TlvWriter()
tlvWriter.put(AnonymousTag, input)
return tlvWriter.getEncoded();
}
fun encode(input: UInt): ByteArray {
val tlvWriter = TlvWriter()
tlvWriter.put(AnonymousTag, input)
return tlvWriter.getEncoded();
}
fun encode(input: Int): ByteArray {
val tlvWriter = TlvWriter()
tlvWriter.put(AnonymousTag, input)
return tlvWriter.getEncoded();
}
fun encode(input: Float): ByteArray {
val tlvWriter = TlvWriter()
tlvWriter.put(AnonymousTag, input)
return tlvWriter.getEncoded();
}
fun encode(input: Double): ByteArray {
val tlvWriter = TlvWriter()
tlvWriter.put(AnonymousTag, input)
return tlvWriter.getEncoded();
}
fun encode(input: ByteArray): ByteArray {
val tlvWriter = TlvWriter()
val inputByteStringValue = ByteString.copyFrom(input);
tlvWriter.put(AnonymousTag, inputByteStringValue)
return tlvWriter.getEncoded();
}
fun decodeBoolean(tlv: ByteArray): Boolean {
val tlvReader = TlvReader(tlv)
return tlvReader.getBool(AnonymousTag)
}
fun decodeInt(tlv: ByteArray): Int {
val tlvReader = TlvReader(tlv)
return tlvReader.getInt(AnonymousTag)
}
fun decodeUInt(tlv: ByteArray): UInt {
val tlvReader = TlvReader(tlv)
return tlvReader.getUInt(AnonymousTag)
}
fun decodeLong(tlv: ByteArray): Long {
val tlvReader = TlvReader(tlv)
return tlvReader.getLong(AnonymousTag)
}
fun decodeULong(tlv: ByteArray): ULong {
val tlvReader = TlvReader(tlv)
return tlvReader.getULong(AnonymousTag)
}
}