Inheritance: Banshee.Dap.DapSource
        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);
        }
Exemple #2
0
        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;
 }
Exemple #5
0
 public RockBoxDevice(MassStorageSource source)
     : base(source)
 {
 }
Exemple #6
0
 public RockBoxDevice(MassStorageSource source) : base(source)
 {
 }