- blob_put_int32(&b, UBUS_ATTR_OBJID, objid);
- blob_put_string(&b, UBUS_ATTR_METHOD, argv[3]);
- ubus_start_request(ctx, &req, b.head, UBUS_MSG_INVOKE, objid);
+ if (argc == 3 && !blobmsg_add_json_from_string(&b, argv[2])) {
+ fprintf(stderr, "Failed to parse message data\n");
+ goto out;
+ }
+
+ ret = ubus_lookup_id(ctx, argv[0], &id);
+ if (!ret)
+ ret = ubus_invoke(ctx, id, argv[1], b.head, receive_data, NULL);
+ } else if (!strcmp(cmd, "listen")) {
+ ret = ubus_cli_listen(ctx, argc, argv);