public IEnumerator <IVolume> GetEnumerator() { foreach (Hal.Device hal_device in HalDevice.GetChildrenAsDevice(HalManager)) { Volume volume = Volume.Resolve(this, HalManager, hal_device); if (volume != null) { yield return(volume); } } }
private IDevice Resolve(Hal.Device hal_device) { if (!hal_device.QueryCapability("block") && !hal_device.QueryCapability("portable_audio_player")) { return(null); } IDevice device = BlockDevice.Resolve <IBlockDevice> (manager, hal_device); if (device == null) { device = Volume.Resolve(null, manager, hal_device); if (device == null) { device = new Device(manager, hal_device); } } return(device); }