Beispiel #1
0
        public SystemEventNotifcationClient(Func <IMultimediaDeviceEnumerator> enumerator)
        {
            _deviceStateChanged   = new Broadcaster <DeviceStateChangedArgs>();
            _deviceAdded          = new Broadcaster <DeviceAddedArgs>();
            _deviceRemoved        = new Broadcaster <DeviceRemovedArgs>();
            _defaultDeviceChanged = new Broadcaster <DefaultChangedArgs>();
            _propertyChanged      = new Broadcaster <PropertyChangedArgs>();

            _innerClient = new ComMultimediaNotificationClient(this);
            _innerClient.RegisterEvents(enumerator);
        }
Beispiel #2
0
        public void Dispose()
        {
            if (_isDisposed)
            {
                return;
            }

            _innerClient.Unregister();
            _deviceStateChanged.Dispose();
            _deviceAdded.Dispose();
            _deviceRemoved.Dispose();
            _defaultDeviceChanged.Dispose();
            _propertyChanged.Dispose();

            _innerClient = null;

            _isDisposed = true;
        }