xref: /haiku/src/apps/devices/Documentation/Specification.txt (revision 55b42c2b4d9ac798d02ed40c7f25413103e03590)
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