-
Notifications
You must be signed in to change notification settings - Fork 0
/
API_list.txt
114 lines (96 loc) · 3.01 KB
/
API_list.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# See REST Api list on https://github.com/batocera-linux/batocera-emulationstation/blob/master/es-app/src/services/HttpServerThread.cpp#L25
#
# GET /restart
# GET /quit
# GET /emukill
# GET /reloadgames
# POST /messagebox -> body must contain the message text as text/plain
# POST /notify -> body must contain the message text as text/plain
# POST /launch -> body must contain the exact file path as text/plain
# GET /runningGame
# GET /isIdle
# GET /systems
# GET /systems/{systemName}
# GET /systems/{systemName}/logo
# GET /systems/{systemName}/games/{gameId}
# POST /systems/{systemName}/games/{gameId} -> body must contain the game metadatas to save as application/json
# GET /systems/{systemName}/games/{gameId}/media/{mediaType}
# POST /systems/{systemName}/games/{gameId}/media/{mediaType} -> body must contain the file bytes to save. Content-type must be valid.
# port 1234 for all API calls
#
/userdata/roms/atari2600/Berzerk.bin
function quitES() {
var xhr = new XMLHttpRequest();
xhr.open('GET', '/quit');
xhr.send();
}
function reloadGamelists() {
var xhr = new XMLHttpRequest();
xhr.open('GET', '/reloadgames');
xhr.send();
}
function emuKill() {
var xhr = new XMLHttpRequest();
xhr.open('GET', '/emukill');
xhr.send();
}
function launchGame(game) {
var xhr = new XMLHttpRequest();
xhr.open('POST', '/launch');
xhr.send(game);
}
function showGames(arr) {
var out = "<table width=100% border=0 cellpadding=4 cellspacing=0>";
var i;
for(i = 0; i < arr.length; i++) {
out += '<tr class="game">';
if(arr[i].image)
out += '<td width="72px" align="center"><img loading="lazy" height=48 style="max-width:100pt" src="' + arr[i].image + '"></td>';
else
out += '<td width="72px" align="center"></td>';
out += '<td>';
out += '<table width=100%>';
out += '<tr><td>' + arr[i].name + '</td></tr>';
if (arr[i].desc) {
out += '<tr><td><div class="desc">' + arr[i].desc + '</div></td></tr>';
}
out += '</table>';
out += '<button class="playitBtn" onclick="launchGame(\'' + arr[i].path + '\')">Play</button>'
out += '</td>';
out += '<tr/>';
}
out += "</table>";
document.getElementById("gameList").innerHTML = out;
}
function getOrder(prop) {
return function(a, b) {
if (a[prop] > b[prop]) {
return 1;
} else if (a[prop] < b[prop]) {
return -1;
}
return 0;
}
}
function loadGames(name) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var myArr = JSON.parse(this.responseText);
myArr.sort(getOrder("name"));
showGames(myArr);
}
};
xhr.open('GET', '/systems/' + name + '/games');
xhr.send();
}
var xmlhttp = new XMLHttpRequest();
var url = "/systems";
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var myArr = JSON.parse(this.responseText);
showSystems(myArr);
}
};
xmlhttp.open("GET", url, true);
xmlhttp.send();