/** * Add new object to the byte buffer. * * @param value * Value to add. */ int CGXDLMSVariant::GetBytes(CGXByteBuffer& value) { if (vt == DLMS_DATA_TYPE_OCTET_STRING) { value.AddRange(byteArr, size); } else if (vt == DLMS_DATA_TYPE_UINT8) { value.SetUInt8(cVal); } else if (vt == DLMS_DATA_TYPE_UINT16) { value.SetUInt16(uiVal); } else if (vt == DLMS_DATA_TYPE_UINT32) { value.SetUInt32(ulVal); } else if (vt == DLMS_DATA_TYPE_UINT64) { value.SetUInt64(ullVal); } else if (vt == DLMS_DATA_TYPE_STRING) { value.AddString(strVal.c_str()); } else { //Invalid object type. return ERROR_CODES_INVALID_PARAMETER; } return 0; }