summaryrefslogtreecommitdiff
path: root/noncore/applets/keyhelper/keyhelperapplet/extension/ExtensionFactory.h
Side-by-side diff
Diffstat (limited to 'noncore/applets/keyhelper/keyhelperapplet/extension/ExtensionFactory.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/keyhelper/keyhelperapplet/extension/ExtensionFactory.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/noncore/applets/keyhelper/keyhelperapplet/extension/ExtensionFactory.h b/noncore/applets/keyhelper/keyhelperapplet/extension/ExtensionFactory.h
new file mode 100644
index 0000000..7fa6a5f
--- a/dev/null
+++ b/noncore/applets/keyhelper/keyhelperapplet/extension/ExtensionFactory.h
@@ -0,0 +1,35 @@
+#ifndef _EXTENSION_FACTORY_H_
+#define _EXTENSION_FACTORY_H_
+
+#include "ExtensionInterface.h"
+#include "TaskSwitcher.h"
+#include "KeyLauncher.h"
+#include "TaskSelector.h"
+#include "MenuLauncher.h"
+
+class ExtensionFactory
+{
+public:
+ ExtensionFactory();
+ virtual ~ExtensionFactory();
+
+ ExtensionInterface* createInstance(const QString& kind);
+ ExtensionInterface* createInstance(const QString& kind,
+ int keycode, int keymask);
+ ExtensionList& getList()
+ {
+ return(m_oExtList);
+ }
+ void clear();
+ void reset();
+ void sweep();
+private:
+ ExtensionList m_oExtList;
+ ExtensionList* m_pLoadList;
+
+ ExtensionInterface* loadInstance(const QString& kind,
+ int keycode, int keymask);
+};
+
+#endif /* _EXTENSION_FACTORY_H_ */
+