1
0
mirror of https://github.com/TheGreyDiamond/Enlight.git synced 2025-07-18 04:33:50 +02:00

More code documentation

This commit is contained in:
TheGreyDiamond
2020-11-29 00:58:54 +01:00
parent 7d6a052f25
commit db3b58841c

View File

@ -60,19 +60,24 @@ var mySession = {
var mainConn = ""; var mainConn = "";
var mainNetworkInterface = undefined; var mainNetworkInterface = undefined;
for (const [key, value] of Object.entries(pageLookup)) {
// check if the property/key is defined in the object itself, not in parent // Preload all pages
if (pageLookup.hasOwnProperty(key)) { function preloadPages(){
fs.readFile("ui_templates/" + value, "utf8", function (err, data) { for (const [key, value] of Object.entries(pageLookup)) {
preLoadedAmount++; // check if the property/key is defined in the object itself, not in parent
if (err) { if (pageLookup.hasOwnProperty(key)) {
return console.log(err); fs.readFile("ui_templates/" + value, "utf8", function (err, data) {
} preLoadedAmount++;
preloadedPageLookup[key] = data; if (err) {
}); return console.log(err);
}
preloadedPageLookup[key] = data;
});
}
} }
} }
// Prepare session existence broadcast
function prepBroadcast() { function prepBroadcast() {
server.bind(PORT, function () { server.bind(PORT, function () {
server.setBroadcast(true); server.setBroadcast(true);
@ -81,7 +86,6 @@ function prepBroadcast() {
}); });
runy = true; runy = true;
while (runy) { while (runy) {
//console.log("INTERFACE EMPTY", networkInterfaces)
if (networkInterfaces.length >= 1) { if (networkInterfaces.length >= 1) {
runy = false; runy = false;
} }
@ -98,17 +102,18 @@ function prepBroadcast() {
mainConn = last.toString(); mainConn = last.toString();
ind = names.indexOf(mainConn); ind = names.indexOf(mainConn);
mainNetworkInterface = networkInterfaces[ind]; mainNetworkInterface = networkInterfaces[ind];
//console.info("!!!!!!!!!!!!!!!!!!!!!", mainConn, names, mainNetworkInterface)
} }
// Broadcasts the presence of a session
function broadcastNew() { function broadcastNew() {
var message = new Buffer( var message = new Buffer.from(
"ENLIGHT_NEW_SESSION$" + String(mainNetworkInterface.ip4) "ENLIGHT_NEW_SESSION$" + String(mainNetworkInterface.ip4)
); );
server.send(message, 0, message.length, PORT, MULTICAST_ADDR); server.send(message, 0, message.length, PORT, MULTICAST_ADDR);
console.log("Sent " + message + " to the wire..."); console.log("Sent " + message + " to the wire...");
} }
// Loads a preloaded page or reads it from file
function loadPage(name) { function loadPage(name) {
load = preloadedPageLookup[name]; load = preloadedPageLookup[name];
if (load == undefined) { if (load == undefined) {
@ -132,16 +137,14 @@ function createWindow() {
main = loadPage("index"); main = loadPage("index");
header = loadPage("header"); header = loadPage("header");
//
//header = fs.readFileSync("ui_templates/header.html").toString();
toLoad = header + main; toLoad = header + main;
fs.writeFileSync("ui_templates/temp.html", toLoad); fs.writeFileSync("ui_templates/temp.html", toLoad);
//win.loadURL("data:text/html;charset=utf-8," + encodeURI(toLoad));
win.loadFile("ui_templates/temp.html"); win.loadFile("ui_templates/temp.html");
return win; return win;
} }
function createStartupInfo() { function createStartupInfo() { // aka. loading screen
const win2 = new BrowserWindow({ const win2 = new BrowserWindow({
width: 400, width: 400,
height: 200, height: 200,
@ -193,6 +196,8 @@ function init() {
}); });
}, 2 * 60 * 1000); // Update network interface every 2 mins }, 2 * 60 * 1000); // Update network interface every 2 mins
preloadPages();
sysInf.networkInterfaces(function (data) { sysInf.networkInterfaces(function (data) {
networkInterfaces = data; networkInterfaces = data;
}); });
@ -255,11 +260,10 @@ function init() {
code: 1, code: 1,
}); });
} }
//name: mySession.name, joinAble: mySession.joinable, passwordProtected: mySession.passwordProtected});
}); });
}, 20); }, 20);
// Handling sessioning // Handling sessions
setInterval(function () { setInterval(function () {
if (sessionStateGoal == 2) { if (sessionStateGoal == 2) {
broadcastNew(); broadcastNew();
@ -268,27 +272,27 @@ function init() {
}, 400); }, 400);
setTimeout(doneLoading, 2000); setTimeout(doneLoading, 2000);
ipcMain.on("asynchronous-message", (event, arg) => {
console.log(arg);
if (arg == "hasBattery") {
event.reply("asynchronous-reply", sysInf.battery().hasbattery);
}
});
ipcMain.on("synchronous-message", (event, arg) => { ipcMain.on("synchronous-message", (event, arg) => {
if (String(arg).includes("hasBattery")) { if (String(arg).includes("hasBattery")) {
// Retrieve if the device has a battery
sysInf.battery(function (data) { sysInf.battery(function (data) {
event.returnValue = data.hasbattery; event.returnValue = data.hasbattery;
}); });
} else if (String(arg).includes("getBatteryLevel")) { } else if (String(arg).includes("getBatteryLevel")) {
// Retrieve device's battery level in percent
sysInf.battery(function (data) { sysInf.battery(function (data) {
event.returnValue = data.percent; event.returnValue = data.percent;
}); });
} else if (String(arg).includes("loadOverride")) { } else if (String(arg).includes("loadOverride")) {
event.returnValue = false; event.returnValue = false;
} else if (String(arg).includes("getNetworks")) { } else if (String(arg).includes("getNetworks")) {
// Retrieve all saved networks
event.returnValue = networkInterfaces; event.returnValue = networkInterfaces;
} else if (String(arg).includes("set:newNetwork")) { } else if (String(arg).includes("set:newNetwork")) {
// Sets the new main network
fs.writeFile( fs.writeFile(
"usrStore/lastNetwork.data", "usrStore/lastNetwork.data",
String(arg).split("|")[1], String(arg).split("|")[1],
@ -298,19 +302,25 @@ function init() {
} }
); );
event.returnValue = ""; event.returnValue = "";
} else if (String(arg).includes("getMainNetwork")) { } else if (String(arg).includes("getMainNetwork")) {
// Retrieves the main network definded by the user
try { try {
last = fs.readFileSync("usrStore/lastNetwork.data"); last = fs.readFileSync("usrStore/lastNetwork.data");
//console.log(last.toString()) //console.log(last.toString())
event.returnValue = last.toString(); event.returnValue = last.toString();
mainConn = last.toString(); mainConn = last.toString();
} catch (e) { } catch (e) {
sysInf.networkInterfaces(function (data) { sysInf.networkInterfaces(function (data) {
fs.writeFileSync("usrStore/lastNetwork.data", data[0].ifaceName); fs.writeFileSync("usrStore/lastNetwork.data", data[0].ifaceName);
event.returnValue = data[0].ifaceName; event.returnValue = data[0].ifaceName;
}); });
} }
} else if (String(arg).includes("PAGE:change")) { } else if (String(arg).includes("PAGE:change")) {
// Change to a diffrent page of the programm
newPage = String(arg).split(".")[1]; newPage = String(arg).split(".")[1];
main = header = loadPage(newPage); main = header = loadPage(newPage);
@ -321,11 +331,16 @@ function init() {
const timestamp2 = Date.now(); const timestamp2 = Date.now();
win.loadFile("ui_templates/temp.html"); win.loadFile("ui_templates/temp.html");
const timestamp3 = Date.now(); const timestamp3 = Date.now();
//win.loadFile("ui_templates/header.html")
event.returnValue = ""; event.returnValue = "";
} else if (String(arg).includes("SESSION:get.state")) { } else if (String(arg).includes("SESSION:get.state")) {
// Retrives the session state
event.returnValue = sessionState; event.returnValue = sessionState;
} else if (String(arg).includes("SESSION:createNew")) { } else if (String(arg).includes("SESSION:createNew")) {
// Creates a new session
setTimeout(prepBroadcast, 5); setTimeout(prepBroadcast, 5);
mySession.name = String(arg).split("|")[1]; mySession.name = String(arg).split("|")[1];
mySession.joinable = true; mySession.joinable = true;