Improved to "half-way usable" (version 0.5)
[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)
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)
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()
42 {
43   return id;
44 }
45
46
47 void PIRKeysetMetaData::addControlledDevice(
48   PIRMakeName make,
49   const char *model,
50   PIRDeviceTypeName type)
51 {
52   controlledDevices.push_back(DeviceInfo(make, model, type));
53
54   deviceTypes.insert(type);
55 }
56
57
58 void PIRKeysetMetaData::addKey(
59   const char *name,
60   PIRKeyName key,
61   unsigned long data,
62   unsigned int size)
63 {
64   // Don't have a system for the unmapped keys yet!
65   if (key != Unmapped_Key)
66   {
67     keys[key] = name;
68
69     threadableProtocol->addKey(key, data, size);
70   }
71 }
72
73
74 void PIRKeysetMetaData::addSIRC12Key(
75   const char *name,
76   PIRKeyName key,
77   unsigned int addressData,
78   unsigned int commandData)
79 {
80   if (key != Unmapped_Key)
81   {
82     keys[key] = name;
83
84     threadableProtocol->addSIRCKey(key, addressData, 5, commandData);
85   }
86 }
87
88
89 void PIRKeysetMetaData::addSIRC15Key(
90   const char *name,
91   PIRKeyName key,
92   unsigned int addressData,
93   unsigned int commandData)
94 {
95   if (key != Unmapped_Key)
96   {
97     keys[key] = name;
98     threadableProtocol->addSIRCKey(key, addressData, 8, commandData);
99   }
100 }
101
102
103 void PIRKeysetMetaData::addSIRC20Key(
104   const char *name,
105   PIRKeyName key,
106   unsigned int secondaryAddressData,
107   unsigned int primaryAddressData,
108   unsigned int commandData)
109 {
110   if (key != Unmapped_Key)
111   {
112     keys[key] = name;
113     threadableProtocol->addSIRC20Key(
114       key, secondaryAddressData, primaryAddressData, commandData);
115   }
116 }
117
118
119 void PIRKeysetMetaData::addSharpKey(
120   const char *name,
121   PIRKeyName key,
122   unsigned int addressData,
123   unsigned int commandData)
124 {
125   if (key != Unmapped_Key)
126   {
127     keys[key] = name;
128     threadableProtocol->addSharpKey(key, addressData, commandData);
129   }
130 }
131
132
133 void PIRKeysetMetaData::setPreData(
134   unsigned long data,
135   unsigned int bits)
136 {
137   threadableProtocol->setPreData(data, bits);
138 }
139
140
141 void PIRKeysetMetaData::setPostData(
142   unsigned long data,
143   unsigned int bits)
144 {
145   threadableProtocol->setPostData(data, bits);
146 }
147
148
149 PIRMakeName PIRKeysetMetaData::getMake()
150 {
151   return make;
152 }
153
154 const char *PIRKeysetMetaData::getKeysetName()
155 {
156   return keysetName;
157 }
158
159
160 void PIRKeysetMetaData::setKeysetName(
161   const char *n)
162 {
163   keysetName = n;
164 }