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(
27     QObject *guiObject);
29   ~PIRKeysetManager();
31   void populateGuiWidget(
32     PIRSelectKeysetForm *widget) const;
34   bool keysetExists(
35     unsigned int keysetID) const;
37   bool findKeysetID(
38     QString make,
39     QString name,
40     unsigned int &id) const;
42   PIRKeysetWidgetItem *makeKeysetItem(
43     QString make,
44     QString name) const;
46   bool hasKey(
47     unsigned int keysetID,
48     PIRKeyName name) const;
50   PIRMakeName getMake(
51     unsigned int keysetID) const;
53   QString getDisplayName(
54     unsigned int keysetID) const;
56   void populateDeviceTypes(
57     PIRKeysetWidgetItem *kwi,
58     unsigned int keysetID) const;
60 private:
61   // This needs to be improved:
62   void populateKeyset(
63     PIRKeysetMetaData *keyset);
65   PIRKeysetCollection keysetsInfo;
66   PIRKeysetMakeIndex makeIndex;
68   // The counter will be used to generate unique ids for each keyset:
69   unsigned int counter;
71   QThread commandThread;
72 };
74 #endif // PIRKEYSETMANAGER_H

Terms of Use    Privacy Policy    Contribution Guidelines    Feedback

Powered By GForge Collaborative Development Environment