2 * Copyright 2008-2009 Haiku Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
16 #undef B_TRANSLATION_CONTEXT
17 #define B_TRANSLATION_CONTEXT "Device"
19 // This list comes from the pciid list, except for the last ones
20 const char* kCategoryString
[] = {
21 B_TRANSLATE("Unclassified device"), // 0x00
22 B_TRANSLATE("Mass storage controller"), // 0x01
23 B_TRANSLATE("Network controller"), // 0x02
24 B_TRANSLATE("Display controller"), // 0x03
25 B_TRANSLATE("Multimedia controller"), // 0x04
26 B_TRANSLATE("Memory controller"), // 0x05
27 B_TRANSLATE("Bridge"), // 0x06
28 B_TRANSLATE("Communication controller"), // 0x07
29 B_TRANSLATE("Generic system peripheral"), // 0x08
30 B_TRANSLATE("Input device controller"), // 0x09
31 B_TRANSLATE("Docking station"), // 0x0a
32 B_TRANSLATE("Processor"), // 0x0b
33 B_TRANSLATE("Serial bus controller"), // 0x0c
34 B_TRANSLATE("Wireless controller"), // 0x0d
35 B_TRANSLATE("Intelligent controller"), // 0x0e
36 B_TRANSLATE("Satellite communications controller"), // 0x0f
37 B_TRANSLATE("Encryption controller"), // 0x10
38 B_TRANSLATE("Signal processing controller"), // 0x11
39 B_TRANSLATE("Computer"), // 0x12 (added later)
40 B_TRANSLATE("ACPI controller") // 0x13 (added later)
42 const int kCategoryStringLength
= sizeof(kCategoryString
)/sizeof(char *);
44 // This list is only used to translate Device properties
45 B_TRANSLATE_MARK_VOID("unknown");
46 B_TRANSLATE_MARK_VOID("Device");
47 B_TRANSLATE_MARK_VOID("Computer");
48 B_TRANSLATE_MARK_VOID("ACPI bus");
49 B_TRANSLATE_MARK_VOID("PCI bus");
50 B_TRANSLATE_MARK_VOID("ISA bus");
51 B_TRANSLATE_MARK_VOID("Unknown device");
54 Device::Device(Device
* physicalParent
, BusType busType
, Category category
,
55 const BString
& name
, const BString
& manufacturer
,
56 const BString
& driverUsed
, const BString
& devPathsPublished
)
58 BStringItem(name
.String()),
61 fPhysicalParent(physicalParent
)
63 SetAttribute(B_TRANSLATE("Device name"), B_TRANSLATE(name
));
64 SetAttribute(B_TRANSLATE("Manufacturer"), B_TRANSLATE(manufacturer
));
65 SetAttribute(B_TRANSLATE("Driver used"), B_TRANSLATE(driverUsed
));
66 SetAttribute(B_TRANSLATE("Device paths"), B_TRANSLATE(devPathsPublished
));
78 return fAttributeMap
[B_TRANSLATE("Device name")];
83 Device::GetManufacturer()
85 return fAttributeMap
[B_TRANSLATE("Manufacturer")];
90 Device::GetDriverUsed()
92 return fAttributeMap
[B_TRANSLATE("Driver used")];
97 Device::GetDevPathsPublished()
99 return fAttributeMap
[B_TRANSLATE("Device paths")];
104 Device::SetAttribute(const BString
& name
, const BString
& value
)
106 if (name
== B_TRANSLATE("Device name")) {
107 SetText(value
.String());
109 fAttributeMap
[name
] = value
;
114 Device::GetBasicAttributes()
116 Attributes attributes
;
117 attributes
.push_back(Attribute(B_TRANSLATE("Device name:"), GetName()));
118 attributes
.push_back(Attribute(B_TRANSLATE("Manufacturer:"),
125 Device::GetBusAttributes()
127 Attributes attributes
;
128 attributes
.push_back(Attribute("None", ""));
134 Device::GetAllAttributes()
136 Attributes attributes
;
137 AttributeMapIterator iter
;
138 for (iter
= fAttributeMap
.begin(); iter
!= fAttributeMap
.end(); iter
++) {
139 attributes
.push_back(Attribute(iter
->first
, iter
->second
));
146 Device::GetBasicStrings()
148 BString
str(B_TRANSLATE("Device Name\t\t\t\t: %Name%\n"
149 "Manufacturer\t\t\t: %Manufacturer%\n"
150 "Driver used\t\t\t\t: %DriverUsed%\n"
151 "Device paths\t: %DevicePaths%"));
153 str
.ReplaceFirst("%Name%", GetName());
154 str
.ReplaceFirst("%Manufacturer%", GetManufacturer());
155 str
.ReplaceFirst("%DriverUsed%", GetDriverUsed());
156 str
.ReplaceFirst("%DevicePaths%", GetDevPathsPublished());
162 Device::GetBusStrings()
164 return B_TRANSLATE("None");
169 Device::GetBusTabName()
171 return B_TRANSLATE("Bus Information");
176 Device::GetAllStrings()
179 AttributeMapIterator iter
;
180 for (iter
= fAttributeMap
.begin(); iter
!= fAttributeMap
.end(); iter
++) {
181 str
<< iter
->first
<< " : " << iter
->second
<< "\n";