public static MassStorageDevice Map (MassStorageSource source) { var u = source.UsbDevice; foreach (VendorProductDeviceNode node in AddinManager.GetExtensionNodes ( "/Banshee/Dap/MassStorage/Device")) { short vendor_id = (short)u.VendorId; short product_id = (short)u.ProductId; if (node.Matches (vendor_id, product_id)) { CustomMassStorageDevice device = (CustomMassStorageDevice)node.CreateInstance (); device.VendorProductInfo = new VendorProductInfo ( node.VendorName, node.ProductName, vendor_id, product_id); device.Source = source; return device; } } // Look for 'Android' in the product/name/uuid/serial of the device to identify // other Android devices foreach (var str in new string [] { u.Product, u.Name, u.Uuid, u.Serial }) { if (str != null && str.ToLower ().Contains ("android")) { return new AndroidDevice () { VendorProductInfo = new VendorProductInfo (u.Vendor, u.Name ?? u.Product, (short)u.VendorId, (short)u.ProductId), Source = source }; } } return new MassStorageDevice (source); }
public static MassStorageDevice Map(MassStorageSource source) { var u = source.UsbDevice; foreach (VendorProductDeviceNode node in AddinManager.GetExtensionNodes( "/Banshee/Dap/MassStorage/Device")) { short vendor_id = (short)u.VendorId; short product_id = (short)u.ProductId; if (node.Matches(vendor_id, product_id)) { CustomMassStorageDevice device = (CustomMassStorageDevice)node.CreateInstance(); device.VendorProductInfo = new VendorProductInfo( node.VendorName, node.ProductName, vendor_id, product_id); device.Source = source; return(device); } } // Look for 'Android' in the product/name/uuid/serial of the device to identify // other Android devices foreach (var str in new string [] { u.Product, u.Name, u.Uuid, u.Serial }) { if (str != null && str.ToLower().Contains("android")) { return(new AndroidDevice() { VendorProductInfo = new VendorProductInfo(u.Vendor, u.Name ?? u.Product, (short)u.VendorId, (short)u.ProductId), Source = source }); } } string path_rockbox = System.IO.Path.Combine(source.Volume.MountPoint, ".rockbox/config.cfg"); if (File.Exists(path_rockbox)) { return(new RockBoxDevice(source)); } return(new MassStorageDevice(source)); }
public MassStorageDevice (MassStorageSource source) { Source = source; }
public MassStorageDevice(MassStorageSource source) { Source = source; }
public RockBoxDevice(MassStorageSource source) : base(source) { }