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 PIRKEYSETMANAGER_H
2 #define PIRKEYSETMANAGER_H
4 #include "pirkeynames.h"
5 #include "pirmakenames.h"
7 #include <QString>
8 #include <QThread>
10 class QObject;
11 class PIRSelectKeysetForm;
12 class PIRKeysetWidgetItem;
14 #include <map>
15 class PIRKeysetMetaData;
17 typedef std::map<unsigned int, PIRKeysetMetaData *> PIRKeysetCollection;
19 // Maps used to locate metadata using QSettings values:
20 typedef std::map<QString, unsigned int> PIRKeysetNameIndex;
21 typedef std::map<QString, PIRKeysetNameIndex> PIRKeysetMakeIndex;
23 class PIRKeysetManager
24 {
25 public:
26   PIRKeysetManager();
28   ~PIRKeysetManager();
30   void populateGuiWidget(
31     PIRSelectKeysetForm *widget) const;
33   bool keysetExists(
34     unsigned int keysetID) const;
36   bool findKeysetID(
37     QString make,
38     QString name,
39     unsigned int &id) const;
41   PIRKeysetWidgetItem *makeKeysetItem(
42     QString make,
43     QString name) const;
45   bool hasKey(
46     unsigned int keysetID,
47     PIRKeyName name) const;
49   PIRMakeName getMake(
50     unsigned int keysetID) const;
52   QString getDisplayName(
53     unsigned int keysetID) const;
55   void populateDeviceTypes(
56     PIRKeysetWidgetItem *kwi,
57     unsigned int keysetID) const;
59   void populateKeyset(
60     QObject *guiObject,
61     unsigned int keysetID);
63 private:
64   void setupKeyset(
65     PIRKeysetMetaData *keyset);
67   PIRKeysetCollection keysetsInfo;
68   PIRKeysetMakeIndex makeIndex;
70   // The counter will be used to generate unique ids for each keyset:
71   unsigned int counter;
73   QThread commandThread;
74 };
76 #endif // PIRKEYSETMANAGER_H

Terms of Use    Privacy Policy    Contribution Guidelines    Feedback

Powered By GForge Collaborative Development Environment