internal bool UpdateData(SdesData sdes)
{
bool ret = false;
// Well-known properties
// CName can never be updated, so start with Name
for (int id = (int)SDESType.NAME; id <= (int)SDESType.NOTE; id++)
{
if (!data[id].Compare(sdes.data[id]))
{
data[id] = sdes.data[id].Copy();
ret = true;
}
}
// Write private properties
foreach (DictionaryEntry de in sdes.privs)
{
byte[] key = (byte[])de.Key;
byte[] data = (byte[])de.Value;
if (!privs.Contains(key) || !data.Compare(privs[key]))
{
privs[key.Copy()] = data.Copy();
ret = true;
}
}
return ret;
}