mirror of
https://github.com/Rafostar/clapper.git
synced 2025-08-30 07:42:23 +02:00
In order to not end up with random names prefixed with Gjs_, give each class a proper name, so its easier to inspect and allows usage with UI files
52 lines
1.1 KiB
JavaScript
52 lines
1.1 KiB
JavaScript
const { Gio, GObject } = imports.gi;
|
|
const Debug = imports.src.debug;
|
|
const Misc = imports.src.misc;
|
|
|
|
const { debug } = Debug;
|
|
|
|
var WebApp = GObject.registerClass({
|
|
GTypeName: 'ClapperWebApp',
|
|
},
|
|
class ClapperWebApp extends Gio.SubprocessLauncher
|
|
{
|
|
_init()
|
|
{
|
|
const flags = Gio.SubprocessFlags.STDOUT_SILENCE
|
|
| Gio.SubprocessFlags.STDERR_SILENCE;
|
|
|
|
super._init({ flags });
|
|
|
|
this.daemonApp = null;
|
|
}
|
|
|
|
startDaemonApp(port)
|
|
{
|
|
if(this.daemonApp)
|
|
return;
|
|
|
|
this.daemonApp = this.spawnv([Misc.appId + '.Daemon', String(port)]);
|
|
this.daemonApp.wait_async(null, this._onDaemonClosed.bind(this));
|
|
|
|
debug('daemon app started');
|
|
}
|
|
|
|
_onDaemonClosed(proc, result)
|
|
{
|
|
let hadError;
|
|
|
|
try {
|
|
hadError = proc.wait_finish(result);
|
|
}
|
|
catch(err) {
|
|
debug(err);
|
|
}
|
|
|
|
this.daemonApp = null;
|
|
|
|
if(hadError)
|
|
debug('daemon app exited with error or was forced to close');
|
|
|
|
debug('daemon app closed');
|
|
}
|
|
});
|