tdebluez
devicemimeconverter.cpp
Go to the documentation of this file.
1/*
2 *
3 * Device Mime Converter for libtdebluez
4 *
5 * Copyright (C) 2003 by Fred Schaettgen
6 * Copyright (C) 2018 Emanoil Kotsev <deloptes@gmail.com>
7 *
8 *
9 * This file is part of libtdebluez.
10 *
11 * libtdebluez is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * libtdebluez is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * You should have received a copy of the GNU General Public License
22 * along with kbluetooth; if not, write to the Free Software
23 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
24 *
25 */
26
27#include <kmimetype.h>
28
29#include "devicemimeconverter.h"
30
31namespace TDEBluetooth
32{
33
35{
36 getIconName("bluetooth/unknown-device-class");
37 getIconName("bluetooth/misc-device-class");
38 getIconName("bluetooth/computer-device-class");
39 getIconName("bluetooth/phone-device-class");
40 getIconName("bluetooth/lan-device-class");
41 getIconName("bluetooth/av-device-class");
42 getIconName("bluetooth/peripheral-device-class");
43 getIconName("bluetooth/mouse-device-class");
44 getIconName("bluetooth/keyboard-device-class");
45 getIconName("bluetooth/imaging-device-class");
46}
47
49{
50 TQString iconName = KMimeType::mimeType(mime)->icon(TQString::null, false);
52}
53
59
64
65/*
66 * device classes
67 *
68 AUDIO_VIDEO (Value: 0x00000400)
69 COMPUTER (Value: 0x00000100)
70 HEALTH (Value: 0x00000900)
71 IMAGING (Value: 0x00000600)
72 MISC (Value: 0x00000000)
73 NETWORKING (Value: 0x00000300)
74 PERIPHERAL (Value: 0x00000500)
75 PHONE (Value: 0x00000200)
76 TOY (Value: 0x00000800)
77 UNCATEGORIZED (Value: 0x00001f00)
78 WEARABLE (Value: 0x00000700)
79*/
80
82{
84 int major = ((n & 0x001F00) >> 8);
85 int minor = ((n >> 2) & 0x30);
86 switch (major)
87 {
88 case 0x00:
89 mimeType = "bluetooth/misc-device-class";
90 break;
91 case 0x01:
92 mimeType = "bluetooth/computer-device-class";
93 break;
94 case 0x02:
95 mimeType = "bluetooth/phone-device-class";
96 break;
97 case 0x03:
98 mimeType = "bluetooth/lan-device-class";
99 break;
100 case 0x04:
101 mimeType = "bluetooth/av-device-class";
102 break;
103 case 0x05:
104 switch (minor)
105 {
106 case 0x10:
107 mimeType = "bluetooth/keyboard-device-class";
108 break;
109 case 0x20:
110 mimeType = "bluetooth/mouse-device-class";
111 break;
112 default:
113 mimeType = "bluetooth/peripheral-device-class";
114 }
115 break;
116 case 0x06:
117 mimeType = "bluetooth/imaging-device-class";
118 break;
119 case 0x07:
120 mimeType = "bluetooth/wearable-device-class";
121 break;
122 case 0x08:
123 mimeType = "bluetooth/toy-device-class";
124 break;
125 case 0x09:
126 mimeType = "bluetooth/health-device-class";
127 break;
128 default:
129 mimeType = "bluetooth/unknown-device-class";
130 }
131 return mimeType;
132}
133
135{
137 if (c->mimeTypeToIconMap.find(mime) != c->mimeTypeToIconMap.end())
138 {
139 return c->mimeTypeToIconMap[mime];
140 }
141 else
142 {
143 return c->mimeTypeToIconMap["bluetooth/unknown-device-class"];
144 }
145}
146
147} // TDEBluetooth
static TQString mimeTypeToIcon(TQString mimeType)
static TQString classToMimeType(int deviceClass)
static DeviceMimeConverter * getInstance()
static TQString classToIconName(int deviceClass)
std::map< TQString, TQString > mimeTypeToIconMap