Add plugin permissions and IO API (#5231)
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
# include "Application.hpp"
|
||||
# include "controllers/plugins/LuaAPI.hpp"
|
||||
# include "controllers/plugins/LuaUtilities.hpp"
|
||||
# include "controllers/plugins/PluginPermission.hpp"
|
||||
|
||||
# include <QDir>
|
||||
# include <QString>
|
||||
@@ -42,6 +43,8 @@ struct PluginMeta {
|
||||
// optionally tags that might help in searching for the plugin
|
||||
std::vector<QString> tags;
|
||||
|
||||
std::vector<PluginPermission> permissions;
|
||||
|
||||
// errors that occurred while parsing info.json
|
||||
std::vector<QString> errors;
|
||||
|
||||
@@ -88,6 +91,11 @@ public:
|
||||
return this->loadDirectory_;
|
||||
}
|
||||
|
||||
QDir dataDirectory() const
|
||||
{
|
||||
return this->loadDirectory_.absoluteFilePath("data");
|
||||
}
|
||||
|
||||
// Note: The CallbackFunction object's destructor will remove the function from the lua stack
|
||||
using LuaCompletionCallback =
|
||||
lua::CallbackFunction<lua::api::CompletionList, QString, QString, int,
|
||||
@@ -130,6 +138,8 @@ public:
|
||||
int addTimeout(QTimer *timer);
|
||||
void removeTimeout(QTimer *timer);
|
||||
|
||||
bool hasFSPermissionFor(bool write, const QString &path);
|
||||
|
||||
private:
|
||||
QDir loadDirectory_;
|
||||
lua_State *state_;
|
||||
|
||||
Reference in New Issue
Block a user