Warning: session_start(): open(/var/lib/php/sessions/sess_91pstdqhaqfmfn0c6bkj06f4if, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
sclass AllOnlineComputers extends DynCalculatedList {
LS computerIDs, data;
transient StefansOS_ConnectToServer connector;
L calc() { ret data; }
start {
ownResource(connector = new StefansOS_ConnectToServer);
connector.onLine = voidfunc(S line) {
new Matches m;
if (swic(line, "ComputerIDs = ", m)) {
computerIDs = safeUnstruct($1);
fO computerNames = dm_computerNames_opt();
setField(data := sortedIC(map(computerIDs, func(S id) -> S {
S name = dm_callOpt(computerNames, 'nameForID, id);
ret (eq(id, computerID()) ? "[this one] " : "")
+ (nempty(name) ? name + " (" + id + ")" : id);
})));
vmBus_send('onlineComputerIDs, computerIDs);
setModuleName(n2(computerIDs, "Online Computer"));
}
};
connector.startWithSubs("computerIDs");
}
afterVisualize {
listPopupMenuItem(list, "Send clipboard there", rThread {
S computerID = selected();
if (computerID != null)
dm_sendClipboardTo_verbose(computerID);
});
}
// API
LS onlineComputerIDs() { ret computerIDs; }
}