/*
* rpcd - UBUS RPC server
*
- * Copyright (C) 2013 Jo-Philipp Wich <jow@openwrt.org>
+ * Copyright (C) 2013-2014 Jo-Philipp Wich <jow@openwrt.org>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include "plugin.h"
+#include <rpcd/plugin.h>
static struct blob_buf buf;
{
if (c->obj)
{
- if (json_object_get_type(c->obj) == json_type_object ||
- json_object_get_type(c->obj) == json_type_array)
- {
- blobmsg_add_json_element(blob, NULL, c->obj);
+ if (json_object_get_type(c->obj) == json_type_object &&
+ blobmsg_add_object(blob, c->obj))
rv = UBUS_STATUS_OK;
- }
json_object_put(c->obj);
}
struct blob_attr *attr;
struct blobmsg_policy *policy = NULL;
- if (!sig || blob_id(sig) != BLOBMSG_TYPE_TABLE)
+ if (!sig || blobmsg_type(sig) != BLOBMSG_TYPE_TABLE)
return false;
n_attr = 0;
blobmsg_for_each_attr(attr, sig, rem)
{
- type = blob_id(attr);
+ type = blobmsg_type(attr);
if (type == BLOBMSG_TYPE_INT32)
{
static LIST_HEAD(plugins);
static const struct rpc_daemon_ops ops = {
- .access = rpc_session_access,
- .exec = rpc_exec,
+ .session_access = rpc_session_access,
+ .session_create_cb = rpc_session_create_cb,
+ .session_destroy_cb = rpc_session_destroy_cb,
+ .exec = rpc_exec,
};
static int