aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/sqlitestudiocli/commands/clicommandfactory.h
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2014-12-06 17:33:25 -0500
committerLibravatarUnit 193 <unit193@ubuntu.com>2014-12-06 17:33:25 -0500
commit7167ce41b61d2ba2cdb526777a4233eb84a3b66a (patch)
treea35c14143716e1f2c98f808c81f89426045a946f /SQLiteStudio3/sqlitestudiocli/commands/clicommandfactory.h
Imported Upstream version 2.99.6upstream/2.99.6
Diffstat (limited to 'SQLiteStudio3/sqlitestudiocli/commands/clicommandfactory.h')
-rw-r--r--SQLiteStudio3/sqlitestudiocli/commands/clicommandfactory.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/SQLiteStudio3/sqlitestudiocli/commands/clicommandfactory.h b/SQLiteStudio3/sqlitestudiocli/commands/clicommandfactory.h
new file mode 100644
index 0000000..4329463
--- /dev/null
+++ b/SQLiteStudio3/sqlitestudiocli/commands/clicommandfactory.h
@@ -0,0 +1,25 @@
+#ifndef CLICOMMANDFACTORY_H
+#define CLICOMMANDFACTORY_H
+
+#include <QString>
+#include <QHash>
+
+class CliCommand;
+
+class CliCommandFactory
+{
+ public:
+ static void init();
+ static CliCommand* getCommand(const QString& cmdName);
+ static QHash<QString,CliCommand*> getAllCommands();
+ static QStringList getCommandNames();
+
+ private:
+ typedef CliCommand* (*CliCommandCreatorFunc)();
+
+ static void registerCommand(CliCommandCreatorFunc func);
+
+ static QHash<QString,CliCommandCreatorFunc> mapping;
+};
+
+#endif // CLICOMMANDFACTORY_H