5ae25996157e427547dec17ef0a27701c72d446c
[pierogi] / pirkeysetmetadata.cpp
1 #include "pirkeysetmetadata.h"
2
3 #include <iostream>
4
5 PIRKeysetMetaData::PIRKeysetMetaData(
6   const char *r,
7   PIRMakeName m,
8   unsigned int i)
9   : keysetName(r),
10     make(m),
11     id(i)
12 {
13 }
14
15 bool PIRKeysetMetaData::hasKey(
16   PIRKeyName name) const
17 {
18   return (keys.find(name) != keys.end());
19 }
20
21
22 void PIRKeysetMetaData::moveProtocolToThread(
23   QThread &thread)
24 {
25   threadableProtocol->moveToThread(&thread);
26 }
27
28
29 void PIRKeysetMetaData::populateDeviceTypes(
30   PIRKeysetWidgetItem *kwi) const
31 {
32   PIRDeviceTypeCollection::const_iterator i = deviceTypes.begin();
33   while (i != deviceTypes.end())
34   {
35     kwi->addDeviceType(*i);
36     ++i;
37   }
38 }
39
40
41 unsigned int PIRKeysetMetaData::getID() const
42 {
43   return id;
44 }
45
46
47 PIRMakeName PIRKeysetMetaData::getMake() const
48 {
49   return make;
50 }
51
52 const char *PIRKeysetMetaData::getKeysetName() const
53 {
54   return keysetName;
55 }
56
57
58 void PIRKeysetMetaData::addControlledDevice(
59   PIRMakeName make,
60   const char *model,
61   PIRDeviceTypeName type)
62 {
63   controlledDevices.push_back(DeviceInfo(make, model, type));
64
65   deviceTypes.insert(type);
66 }
67
68
69 void PIRKeysetMetaData::addKey(
70   const char *name,
71   PIRKeyName key,
72   unsigned long data,
73   unsigned int size)
74 {
75   // Don't have a system for the unmapped keys yet!
76   if (key != Unmapped_Key)
77   {
78     keys[key] = name;
79
80     threadableProtocol->addKey(key, data, size);
81   }
82 }
83
84
85 void PIRKeysetMetaData::addSIRC12Key(
86   const char *name,
87   PIRKeyName key,
88   unsigned int addressData,
89   unsigned int commandData)
90 {
91   if (key != Unmapped_Key)
92   {
93     keys[key] = name;
94
95     threadableProtocol->addSIRCKey(key, addressData, 5, commandData);
96   }
97 }
98
99
100 void PIRKeysetMetaData::addSIRC15Key(
101   const char *name,
102   PIRKeyName key,
103   unsigned int addressData,
104   unsigned int commandData)
105 {
106   if (key != Unmapped_Key)
107   {
108     keys[key] = name;
109     threadableProtocol->addSIRCKey(key, addressData, 8, commandData);
110   }
111 }
112
113
114 void PIRKeysetMetaData::addSIRC20Key(
115   const char *name,
116   PIRKeyName key,
117   unsigned int secondaryAddressData,
118   unsigned int primaryAddressData,
119   unsigned int commandData)
120 {
121   if (key != Unmapped_Key)
122   {
123     keys[key] = name;
124     threadableProtocol->addSIRC20Key(
125       key, secondaryAddressData, primaryAddressData, commandData);
126   }
127 }
128
129
130 void PIRKeysetMetaData::addSharpKey(
131   const char *name,
132   PIRKeyName key,
133   unsigned int addressData,
134   unsigned int commandData)
135 {
136   if (key != Unmapped_Key)
137   {
138     keys[key] = name;
139     threadableProtocol->addSharpKey(key, addressData, commandData);
140   }
141 }
142
143
144 void PIRKeysetMetaData::addNECKey(
145   const char *name,
146   PIRKeyName key,
147   unsigned int addressData,
148   unsigned int commandData)
149 {
150   if (key != Unmapped_Key)
151   {
152     keys[key] = name;
153     threadableProtocol->addNECKey(key, addressData, commandData);
154   }
155 }
156
157
158 void PIRKeysetMetaData::addPioneerKey(
159   const char *name,
160   PIRKeyName key,
161   unsigned int addressOne,
162   unsigned int commandOne,
163   unsigned int addressTwo,
164   unsigned int commandTwo)
165 {
166   if (key != Unmapped_Key)
167   {
168     keys[key] = name;
169     threadableProtocol->addPioneerKey(
170       key, addressOne, commandOne, addressTwo, commandTwo);
171   }
172 }
173
174
175 void PIRKeysetMetaData::setPreData(
176   unsigned long data,
177   unsigned int bits)
178 {
179   threadableProtocol->setPreData(data, bits);
180 }
181
182
183 void PIRKeysetMetaData::setPostData(
184   unsigned long data,
185   unsigned int bits)
186 {
187   threadableProtocol->setPostData(data, bits);
188 }
189
190
191 void PIRKeysetMetaData::setKeysetName(
192   const char *n)
193 {
194   keysetName = n;
195 }