protected abstract void _deviceSourceDAL_OnResourceUpdated(object sender,
                                                    SourceEventArg<DeviceResourceDescriptor> e);
 protected abstract void _sourceDAL_OnResourceAdded(object sender, SourceEventArg<ResourceDescriptor> e);
 protected override void _deviceSourceDAL_OnResourceUpdated(object sender, SourceEventArg<DeviceResourceDescriptor> e)
 {
     DeviceResourceDescriptor descriptor = e.ResourceDescriptor;
     _globalNotifier.Notify(e.UserIdentity, this, "DeviceResourceUpdated", e.UserIdentity, descriptor);
 }
 protected override void _sourceDAL_OnResourceUpdated(object sender, SourceEventArg<ResourceDescriptor> e)
 {
     ResourceDescriptor descriptor = e.ResourceDescriptor;
     if (descriptor.IsLocal && !string.IsNullOrEmpty(descriptor.PresentationUniqueName))
     {
         _presentationNotifier.Notify(e.UserIdentity, ObjectKeyCreator.CreatePresentationKey(descriptor.PresentationUniqueName),
             "ResourceUpdated", e.UserIdentity, descriptor);
     }
     else
     {
         _globalNotifier.Notify(e.UserIdentity, this, "ResourceUpdated", e.UserIdentity,
             descriptor);
     }
 }
 protected override void _deviceSourceDAL_OnResourceUpdated(object sender, SourceEventArg<DeviceResourceDescriptor> e)
 {
     if (_notifier != null)
         _notifier.DeviceResourceUpdated(e.UserIdentity, e.ResourceDescriptor);
 }
 protected override void _sourceDAL_OnResourceAdded(object sender, SourceEventArg<ResourceDescriptor> e)
 {
     if (_notifier != null)
         _notifier.ResourceAdded(e.UserIdentity, e.ResourceDescriptor);
 }