62 lines
1.8 KiB
JavaScript
62 lines
1.8 KiB
JavaScript
var API = function(terminal) {
|
|
|
|
this.terminal = terminal;
|
|
|
|
};
|
|
|
|
API.prototype.sendPacket = function(callback, args, command, packetArgs) {
|
|
var id = this.terminal.nextID();
|
|
this.terminal.callbacks[id.toString()] = callback;
|
|
this.terminal.args[id.toString()] = args;
|
|
this.terminal.ws.webSocket.send(JSON.stringify(
|
|
{ id: id, opcode: 'API', command: command, args: packetArgs }
|
|
));
|
|
};
|
|
|
|
API.prototype.commandList = function(callback, args) {
|
|
this.sendPacket(callback, args, 'commandList', []);
|
|
};
|
|
|
|
API.prototype.who = function(callback, args) {
|
|
this.sendPacket(callback, args, 'who', []);
|
|
};
|
|
|
|
API.prototype.login = function(callback, args, account, password) {
|
|
this.sendPacket(callback, args, 'login', [ account, password ]);
|
|
};
|
|
|
|
var FileAPI = function(terminal) {
|
|
|
|
this.terminal = terminal;
|
|
|
|
};
|
|
|
|
FileAPI.prototype.sendPacket = function(callback, args, command, packetArgs) {
|
|
var id = this.terminal.nextID();
|
|
this.terminal.callbacks[id.toString()] = callback;
|
|
this.terminal.args[id.toString()] = args;
|
|
this.terminal.ws.webSocket.send(JSON.stringify(
|
|
{ id: id, opcode: 'FileAPI', command: command, args: packetArgs }
|
|
));
|
|
};
|
|
|
|
FileAPI.prototype.list = function(callback, args, directory) {
|
|
this.sendPacket(callback, args, 'list', [ directory ]);
|
|
};
|
|
|
|
FileAPI.prototype.load = function(callback, args, filename) {
|
|
this.sendPacket(callback, args, 'load', [ filename ]);
|
|
};
|
|
|
|
FileAPI.prototype.delete = function(callback, args, filename) {
|
|
this.sendPacket(callback, args, 'delete', [ filename ]);
|
|
};
|
|
|
|
FileAPI.prototype.createDirectory = function(callback, args, directory) {
|
|
this.sendPacket(callback, args, 'createDirectory', [ directory ]);
|
|
};
|
|
|
|
FileAPI.prototype.save = function(callback, args, path, content) {
|
|
this.sendPacket(callback, args, 'save', [ path, Base64.encode(content) ]);
|
|
};
|