Still fixing install, more keyset work
[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 bits)
63 {
64   // Don't have a system for the unmapped keys yet!
65   if (key != Unmapped_Key)
66   {
67     keys[key] = name;
68   }
69
70   threadableProtocol->addKey(key, data, bits);
71 }
72
73
74 void PIRKeysetMetaData::setPreData(
75   unsigned long data,
76   unsigned int bits)
77 {
78   threadableProtocol->setPreData(data, bits);
79 }
80
81
82 void PIRKeysetMetaData::setPostData(
83   unsigned long data,
84   unsigned int bits)
85 {
86   threadableProtocol->setPostData(data, bits);
87 }
88
89
90 PIRMakeName PIRKeysetMetaData::getMake()
91 {
92   return make;
93 }
94
95 const char *PIRKeysetMetaData::getKeysetName()
96 {
97   return keysetName;
98 }
99
100
101 void PIRKeysetMetaData::setKeysetName(
102   const char *n)
103 {
104   keysetName = n;
105 }