protected override ServiceResult WriteNonValueAttribute(
ISystemContext context,
uint attributeId,
object value)
{
ServiceResult result = null;
switch (attributeId)
{
case Attributes.EventNotifier:
{
byte? eventNotifierRef = value as byte?;
if (eventNotifierRef == null)
{
return StatusCodes.BadTypeMismatch;
}
if ((WriteMask & AttributeWriteMask.EventNotifier) == 0)
{
return StatusCodes.BadNotWritable;
}
byte eventNotifier = eventNotifierRef.Value;
if (OnWriteEventNotifier != null)
{
result = OnWriteEventNotifier(context, this, ref eventNotifier);
}
if (ServiceResult.IsGood(result))
{
EventNotifier = eventNotifier;
}
return result;
}
}
return base.WriteNonValueAttribute(context, attributeId, value);
}
#endregion