Log In
New Account
  
Home My Page Project Cloud Code Snippets Project Openings Pierogi
Summary Forums Tracker Lists Tasks Docs News SCM Files
1 #ifndef PIRKEYSETMETADATA_H
2 #define PIRKEYSETMETADATA_H
4 #include <map>
5 #include <list>
6 //#include <string>
8 #include "pirkeynames.h"
9 #include "pirmakenames.h"
10 #include "pirdevicetypenames.h"
11 #include "pirkeysetwidgetitem.h"
12 #include "pirprotocol.h"
14 typedef std::map<PIRKeyName, const char *> KeyCollection;
16 class DeviceInfo
17 {
18 public:
19   DeviceInfo(
20     PIRMakeName ma,
21     const char *mo,
22     PIRDeviceTypeName t)
23   : make(ma),
24     model(mo),
25     type(t)
26   {}
28   PIRMakeName make;
29   const char *model;
30   PIRDeviceTypeName type;
31 };
33 typedef std::list<DeviceInfo> DeviceCollection;
35 class PIRKeysetMetaData
36 {
37 public:
38   PIRKeysetMetaData(
39     const char *keysetName,
40     PIRMakeName make,
41     unsigned int index);
43   bool hasKey(
44     PIRKeyName name);
46   unsigned int getID();
48   PIRMakeName getMake();
49   const char *getKeysetName();
51   void moveProtocolToThread(
52     QThread &thread);
54   void populateDeviceTypes(
55     PIRKeysetWidgetItem *kwi);
57 protected:
58   void addControlledDevice(
59     PIRMakeName make,
60     const char *model,
61     PIRDeviceTypeName type);
63   void addDeviceType(
64     PIRDeviceTypeName n);
66   void addKey(
67     const char *name,
68     PIRKeyName key,
69     unsigned long data,
70     unsigned int bits);
72   KeyCollection keys;
74   DeviceCollection controlledDevices;
76   PIRProtocol *threadableProtocol;
78   void setKeysetName(
79     const char *name);
81 private:
82   const char *keysetName;
83   PIRMakeName make;
84   PIRDeviceTypeCollection deviceTypes;
86   unsigned int id;
87 };
90 #endif // PIRKEYSETMETADATA_H

Terms of Use    Privacy Policy    Contribution Guidelines    Feedback

Powered By GForge Collaborative Development Environment