return ubus_complete_request(ctx, &req);
}
-static void ubus_publish_cb(struct ubus_request *req, int type, struct blob_attr *msg)
+static void ubus_add_object_cb(struct ubus_request *req, int type, struct blob_attr *msg)
{
struct ubus_object *obj = req->priv;
return true;
}
-static int __ubus_publish(struct ubus_context *ctx, struct ubus_object *obj)
+static int __ubus_add_object(struct ubus_context *ctx, struct ubus_object *obj)
{
struct ubus_request req;
int ret;
return UBUS_STATUS_INVALID_ARGUMENT;
}
- ubus_start_request(ctx, &req, b.head, UBUS_MSG_PUBLISH, 0);
- req.raw_data_cb = ubus_publish_cb;
+ ubus_start_request(ctx, &req, b.head, UBUS_MSG_ADD_OBJECT, 0);
+ req.raw_data_cb = ubus_add_object_cb;
req.priv = obj;
ret = ubus_complete_request(ctx, &req);
if (ret)
return 0;
}
-int ubus_publish(struct ubus_context *ctx, struct ubus_object *obj)
+int ubus_add_object(struct ubus_context *ctx, struct ubus_object *obj)
{
if (!obj->name || !obj->type)
return UBUS_STATUS_INVALID_ARGUMENT;
- return __ubus_publish(ctx, obj);
+ return __ubus_add_object(ctx, obj);
}
static int ubus_event_cb(struct ubus_context *ctx, struct ubus_object *obj,
if (!!obj->name ^ !!obj->type)
return UBUS_STATUS_INVALID_ARGUMENT;
- ret = __ubus_publish(ctx, obj);
+ ret = __ubus_add_object(ctx, obj);
if (ret)
return ret;
}
struct blob_attr *msg, struct ubus_request *req);
/* make an object visible to remote connections */
-int ubus_publish(struct ubus_context *ctx, struct ubus_object *obj);
+int ubus_add_object(struct ubus_context *ctx, struct ubus_object *obj);
/* send a reply to an incoming object method call */
int ubus_send_reply(struct ubus_context *ctx, struct ubus_request_data *req,
fprintf(stderr, "Connected as ID 0x%08x\n", ctx->local_id);
fprintf(stderr, "Publishing object\n");
- ret = ubus_publish(ctx, &test_object);
+ ret = ubus_add_object(ctx, &test_object);
if (ret)
- fprintf(stderr, "Failed to publish object: %s\n", ubus_strerror(ret));
+ fprintf(stderr, "Failed to add_object object: %s\n", ubus_strerror(ret));
else {
fprintf(stderr, "Object ID: %08x\n", test_object.id);
fprintf(stderr, "Object Type ID: %08x\n", test_object.type->id);
}
fprintf(stderr, "Publishing object\n");
- ret = ubus_publish(ctx, &test_object2);
+ ret = ubus_add_object(ctx, &test_object2);
if (ret)
- fprintf(stderr, "Failed to publish object: %s\n", ubus_strerror(ret));
+ fprintf(stderr, "Failed to add_object object: %s\n", ubus_strerror(ret));
else {
fprintf(stderr, "Object ID: %08x\n", test_object2.id);
fprintf(stderr, "Object Type ID: %08x\n", test_object2.type->id);
return 0;
}
-static int ubusd_handle_publish(struct ubus_client *cl, struct ubus_msg_buf *ub, struct blob_attr **attr)
+static int ubusd_handle_add_object(struct ubus_client *cl, struct ubus_msg_buf *ub, struct blob_attr **attr)
{
struct ubus_object *obj;
static const ubus_cmd_cb handlers[__UBUS_MSG_LAST] = {
[UBUS_MSG_PING] = ubusd_send_pong,
- [UBUS_MSG_PUBLISH] = ubusd_handle_publish,
+ [UBUS_MSG_ADD_OBJECT] = ubusd_handle_add_object,
[UBUS_MSG_LOOKUP] = ubusd_handle_lookup,
[UBUS_MSG_INVOKE] = ubusd_handle_invoke,
[UBUS_MSG_STATUS] = ubusd_handle_response,
/* invoke a method on a single object */
UBUS_MSG_INVOKE,
- /* publish an object */
- UBUS_MSG_PUBLISH,
+ UBUS_MSG_ADD_OBJECT,
+ UBUS_MSG_REMOVE_OBJECT,
/* must be last */
__UBUS_MSG_LAST,