void UpdateAccessRights(GXDLMSObject obj, Object[] buff)
{
if (buff.Length != 0)
{
foreach (Object[] attributeAccess in (Object[])buff[0])
{
int id = Convert.ToInt32(attributeAccess[0]);
int mode = Convert.ToInt32(attributeAccess[1]);
obj.SetAccess(id, (AccessMode)mode);
}
foreach (Object[] methodAccess in (Object[])buff[1])
{
int id = Convert.ToInt32(methodAccess[0]);
int tmp;
//If version is 0.
if (methodAccess[1] is Boolean)
{
tmp = ((Boolean)methodAccess[1]) ? 1 : 0;
}
else//If version is 1.
{
tmp = Convert.ToInt32(methodAccess[1]);
}
obj.SetMethodAccess(id, (MethodAccessMode)tmp);
}
}
}