1*55b42c2bSStephan AßmusEach device has: 2*55b42c2bSStephan Aßmus- Name (long/short) 3*55b42c2bSStephan Aßmus- Manufacturer (long/short) 4*55b42c2bSStephan Aßmus- Category (one master list, each bus type maps its device types onto the master list) 5*55b42c2bSStephan Aßmus- Driver used 6*55b42c2bSStephan Aßmus- Device paths 7*55b42c2bSStephan Aßmus- Its bus type 8*55b42c2bSStephan Aßmus- Its connection parent, if applicable 9*55b42c2bSStephan Aßmus 10*55b42c2bSStephan AßmusEach source has: (currently the RescanDevices method does this) 11*55b42c2bSStephan Aßmus- Init function 12*55b42c2bSStephan Aßmus- Scan method that returns the devices. 13*55b42c2bSStephan Aßmus- DevManSource, USBSource, FWSource, ... 14*55b42c2bSStephan Aßmus 15*55b42c2bSStephan AßmusDeviceManager Specification 16*55b42c2bSStephan Aßmus=========================== 17*55b42c2bSStephan Aßmus 18*55b42c2bSStephan AßmusDeviceManager : BApplication 19*55b42c2bSStephan Aßmus------------- 20*55b42c2bSStephan Aßmus 21*55b42c2bSStephan AßmusDeviceManagerView : BView 22*55b42c2bSStephan Aßmus----------------- 23*55b42c2bSStephan Aßmus 24*55b42c2bSStephan Aßmus 25*55b42c2bSStephan AßmusDevice : public BStringItem 26*55b42c2bSStephan Aßmus------ 27*55b42c2bSStephan AßmusBString GetName() const; 28*55b42c2bSStephan AßmusBString GetManufacturer() const; 29*55b42c2bSStephan AßmusCategory GetCategory() const; 30*55b42c2bSStephan AßmusBString DriverUsed() const; 31*55b42c2bSStephan AßmusBString DevPathsPublished() const; 32*55b42c2bSStephan AßmusBView Get 33*55b42c2bSStephan Aßmusprivate: 34*55b42c2bSStephan AßmusBString _name; 35*55b42c2bSStephan AßmusBString _manufacturer; 36*55b42c2bSStephan AßmusCategory _category; 37*55b42c2bSStephan AßmusBString _driverUsed; 38*55b42c2bSStephan AßmusBString devPathsPublished; 39*55b42c2bSStephan Aßmusmap<BString, BString> _attributes; 40*55b42c2bSStephan Aßmus 41*55b42c2bSStephan AßmusBus : public BStringItem 42*55b42c2bSStephan Aßmus--- 43*55b42c2bSStephan Aßmusvirtual bool IsPresent() const = 0; 44*55b42c2bSStephan Aßmusvirtual Scan() = 0; 45*55b42c2bSStephan Aßmusvirtual vector<Device *> Devices() = 0; 46*55b42c2bSStephan Aßmus 47*55b42c2bSStephan AßmusPCIBus : public Bus 48*55b42c2bSStephan Aßmus------ 49*55b42c2bSStephan Aßmus 50*55b42c2bSStephan AßmusPCIDevice: public Device 51*55b42c2bSStephan Aßmus--------- 52*55b42c2bSStephan Aßmus 53*55b42c2bSStephan AßmusISABus : public Bus 54*55b42c2bSStephan Aßmus----- 55*55b42c2bSStephan Aßmus 56*55b42c2bSStephan AßmusISADevice : public Device 57*55b42c2bSStephan Aßmus--------- 58*55b42c2bSStephan Aßmus 59*55b42c2bSStephan AßmusUSBBus : public Bus 60*55b42c2bSStephan Aßmus------ 61*55b42c2bSStephan Aßmus 62*55b42c2bSStephan AßmusUSBDevice : public Device 63*55b42c2bSStephan Aßmus--------- 64*55b42c2bSStephan Aßmus 65*55b42c2bSStephan AßmusSCSIBus : public Bus 66*55b42c2bSStephan Aßmus------- 67*55b42c2bSStephan Aßmus 68*55b42c2bSStephan AßmusSCSIDevice : public Device 69*55b42c2bSStephan Aßmus---------- 70