private void GetAccessRights(GXDLMSSettings settings, GXDLMSObject item, GXByteBuffer data)
{
data.SetUInt8((byte)DataType.Structure);
data.SetUInt8((byte)3);
GXCommon.SetData(settings, data, DataType.UInt16, item.ShortName);
data.SetUInt8((byte)DataType.Array);
data.SetUInt8((byte)item.Attributes.Count);
foreach (GXDLMSAttributeSettings att in item.Attributes)
{
data.SetUInt8((byte)DataType.Structure); //attribute_access_item
data.SetUInt8((byte)3);
GXCommon.SetData(settings, data, DataType.Int8, att.Index);
GXCommon.SetData(settings, data, DataType.Enum, att.Access);
GXCommon.SetData(settings, data, DataType.None, null);
}
data.SetUInt8((byte)DataType.Array);
data.SetUInt8((byte)item.MethodAttributes.Count);
foreach (GXDLMSAttributeSettings it in item.MethodAttributes)
{
data.SetUInt8((byte)DataType.Structure); //attribute_access_item
data.SetUInt8((byte)2);
GXCommon.SetData(settings, data, DataType.Int8, it.Index);
GXCommon.SetData(settings, data, DataType.Enum, it.MethodAccess);
}
}