mirror of
https://github.com/finos/SymphonyElectron.git
synced 2025-01-05 13:45:25 -06:00
53 lines
1.1 KiB
JavaScript
53 lines
1.1 KiB
JavaScript
|
'use strict';
|
||
|
|
||
|
let protocolWindow;
|
||
|
let protocolUrl;
|
||
|
|
||
|
/**
|
||
|
* processes a protocol uri
|
||
|
* @param {String} uri - the uri opened in the format 'symphony://...'
|
||
|
*/
|
||
|
function processProtocolAction(uri) {
|
||
|
if (protocolWindow && uri && uri.startsWith("symphony://")) {
|
||
|
protocolWindow.send('protocol-action', uri);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* sets the protocol window
|
||
|
* @param {Object} win - the renderer window
|
||
|
*/
|
||
|
function setProtocolWindow(win) {
|
||
|
protocolWindow = win;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* checks to see if the app was opened by a uri
|
||
|
*/
|
||
|
function checkProtocolAction() {
|
||
|
if (protocolUrl) {
|
||
|
processProtocolAction(protocolUrl);
|
||
|
protocolUrl = undefined;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* caches the protocol uri
|
||
|
* @param {String} uri - the uri opened in the format 'symphony://...'
|
||
|
*/
|
||
|
function setProtocolUrl(uri) {
|
||
|
protocolUrl = uri;
|
||
|
}
|
||
|
|
||
|
function getProtocolUrl() {
|
||
|
return protocolUrl;
|
||
|
}
|
||
|
|
||
|
module.exports = {
|
||
|
processProtocolAction: processProtocolAction,
|
||
|
setProtocolWindow: setProtocolWindow,
|
||
|
checkProtocolAction: checkProtocolAction,
|
||
|
setProtocolUrl: setProtocolUrl,
|
||
|
getProtocolUrl: getProtocolUrl
|
||
|
};
|