summaryrefslogtreecommitdiff
path: root/modules/core/overrides/Gio.js
diff options
context:
space:
mode:
Diffstat (limited to 'modules/core/overrides/Gio.js')
-rw-r--r--modules/core/overrides/Gio.js16
1 files changed, 15 insertions, 1 deletions
diff --git a/modules/core/overrides/Gio.js b/modules/core/overrides/Gio.js
index be2e5247..6cc29b17 100644
--- a/modules/core/overrides/Gio.js
+++ b/modules/core/overrides/Gio.js
@@ -185,8 +185,22 @@ function _addDBusConvenience() {
let i, methods = info.methods;
for (i = 0; i < methods.length; i++) {
var method = methods[i];
- this[`${method.name}Remote`] = _makeProxyMethod(methods[i], false);
+ let remoteMethod = _makeProxyMethod(methods[i], false);
+ this[`${method.name}Remote`] = remoteMethod;
this[`${method.name}Sync`] = _makeProxyMethod(methods[i], true);
+ this[`${method.name}Async`] = function (...args) {
+ return new Promise((resolve, reject) => {
+ args.push((result, error, fdList) => {
+ if (error)
+ reject(error);
+ else if (fdList)
+ resolve([result, fdList]);
+ else
+ resolve(result);
+ });
+ remoteMethod.call(this, ...args);
+ });
+ };
}
let properties = info.properties;