Commit 13710168 authored by Andrew Price's avatar Andrew Price

Remove rpc and ipc bits from mwjs

parent 5f0e093c
Pipeline #372 passed with stage
in 8 minutes and 56 seconds
......@@ -22,10 +22,6 @@ The following symbols are defined in the global scope for ``MWJS`` scripts:
A string containing the name of the current ``Milliways`` user.
`K_BROADCAST`
A type specifier to be used in `rpc()` and `ipc()` calls (see below).
BIND TYPES
==========
......@@ -36,10 +32,6 @@ The following constants can be used with the `bind` and `unbind` functions (see
``bind(K_BIND_EVENT, handler)`` hooks a user-defined function named in the
string `handler` to be called when certain events occur.
`K_BIND_IPC`
``bind(K_BIND_IPC, )`` - To be documented.
`K_BIND_ONOFF`
``bind(K_BIND_ONOFF, )`` - To be documented.
......@@ -52,10 +44,6 @@ The following constants can be used with the `bind` and `unbind` functions (see
``bind(K_BIND_SHUTDOWN, )`` - To be documented.
`K_BIND_RPC`
``bind(K_BIND_RPC, )`` - To be documented.
`K_BIND_ALIAS`
``bind(K_BIND_ALIAS, )`` - To be documented.
......@@ -100,14 +88,6 @@ The following functions are defined in the global scope of ``MWJS`` scripts.
Note that the wholist is currently not guaranteed to be available on joining
the talker and so the value returned from `wholist()` could be `undefined`.
`rpc()`
To be documented.
`ipc()`
To be documented.
`urlget(url)`
Takes a URL string, fetches it, and returns the contents of the response.
......
......@@ -40,10 +40,8 @@ struct binding {
const struct binding bindings[] = {
{ K_BIND, 1, &bind_list, "Bind" },
{ K_BIND_ALIAS, 1, &alias_list, "Alias" },
{ K_BIND_RPC, 1, &rpc_list, "RPC bind" },
{ K_BIND_EVENT, 0, &event_list, "Event bind" },
{ K_BIND_ONOFF, 0, &onoff_list, "Check on/off bind" },
{ K_BIND_IPC, 0, &ipc_list, "IPC bind" },
{ K_BIND_FORCE, 0, &force_list, "Force bind" },
{ K_BIND_SHUTDOWN, 0, &shutdown_list, "Shutdown bind" },
{ K_BIND_INPUT, 0, &eventin_list, "Input event bind" },
......@@ -251,62 +249,6 @@ static duk_ret_t js_wholist(duk_context *cx)
return 1; /* Array is returned at top of stack */
}
static duk_ret_t js_rpc(duk_context *cx)
{
const char *username = NULL;
const char *rpc_type = NULL;
const char *msg = NULL;
int broadcast = 0;
if (duk_is_undefined(cx, -1) ||
duk_is_undefined(cx, -2) ||
duk_is_undefined(cx, -3)) {
fprintf(stderr, "mwjs error: rpc() expects 3 arguments\n");
return DUK_RET_SYNTAX_ERROR;
}
if (duk_is_number(cx, -3)) {
if (duk_get_int(cx, -3) == K_BROADCAST)
broadcast = 1;
} else if (duk_is_string(cx, -3)) {
username = duk_get_string(cx, -3);
}
rpc_type = duk_safe_to_string(cx, -2);
msg = duk_safe_to_string(cx, -1);
if((!broadcast && username[0] == '\0') || rpc_type[0] == '\0') {
fprintf(stderr, "Error: javascript rpc(): invalid arguments - [%s] [%s]",
(broadcast ? "K_BROADCAST" : username), rpc_type);
return DUK_RET_ERROR;
}
sendrpc(username, rpc_type, msg, broadcast);
return 0;
}
static duk_ret_t js_ipc(duk_context *cx)
{
const char *username = NULL;
const char *msg = NULL;
int broadcast = 0;
if (duk_is_undefined(cx, -1) || duk_is_undefined(cx, -2)) {
fprintf(stderr, "mwjs error: ipc() expects 2 arguments\n");
return DUK_RET_SYNTAX_ERROR;
}
if (duk_is_number(cx, -2)) {
if (duk_get_int(cx, -2) == K_BROADCAST)
broadcast = 1;
} else if (duk_is_string(cx, -2)) {
username = duk_get_string(cx, -2);
}
msg = duk_safe_to_string(cx, -1);
if (broadcast == 0 && (!username || username[0] == '\0')) {
fprintf(stderr, "mwjs error: ipc() expects either a username or K_BROADCAST\n");
return DUK_RET_ERROR;
}
sendipc(username, msg, broadcast);
return 0;
}
struct urlget {
duk_context *cx;
duk_idx_t nchunks;
......@@ -477,8 +419,7 @@ static duk_ret_t js_bind(duk_context *cx)
} else if (duk_is_number(cx, -3)) {
bind_type = duk_get_int_default(cx, -3, -1);
if (bind_type == K_BIND ||
bind_type == K_BIND_ALIAS ||
bind_type == K_BIND_RPC) {
bind_type == K_BIND_ALIAS) {
bind_name = duk_get_string(cx, -2);
} else {
duk_pop(cx);
......@@ -675,7 +616,6 @@ static duk_ret_t js_dbquery(duk_context *cx)
return 1;
}
int js_isrunning(void)
{
return (interrupt == 0 && timeout_event != NULL);
......@@ -850,14 +790,11 @@ static void define_string(const char *name, const char *value)
static void define_constants(void)
{
define_number("K_BIND_EVENT", (duk_double_t)K_BIND_EVENT);
define_number("K_BIND_IPC", (duk_double_t)K_BIND_IPC);
define_number("K_BIND_ONOFF", (duk_double_t)K_BIND_ONOFF);
define_number("K_BIND_FORCE", (duk_double_t)K_BIND_FORCE);
define_number("K_BIND_SHUTDOWN", (duk_double_t)K_BIND_SHUTDOWN);
define_number("K_BIND_RPC", (duk_double_t)K_BIND_RPC);
define_number("K_BIND_ALIAS", (duk_double_t)K_BIND_ALIAS);
define_number("K_BIND_INPUT", (duk_double_t)K_BIND_INPUT);
define_number("K_BROADCAST", (duk_double_t)K_BROADCAST);
define_string("whoami", user->record.name);
}
......@@ -878,8 +815,6 @@ int setup_js(void)
define_func("exec", js_mwexec, 1);
define_func("say", js_say, 1);
define_func("wholist", js_wholist, 0);
define_func("rpc", js_rpc, 3);
define_func("ipc", js_ipc, 2);
define_func("urlget", js_urlget, 1);
define_func("beep", js_beep, 1);
define_func("input", js_input, 1);
......
......@@ -15,13 +15,10 @@ enum bindtype {
K_BIND = 0,
K_BIND_EVENT,
K_BIND_ONOFF,
K_BIND_IPC,
K_BIND_FORCE,
K_BIND_SHUTDOWN,
K_BIND_ALIAS,
K_BIND_RPC,
K_BIND_INPUT
};
#define K_BROADCAST 1
#endif /* JS_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment