static struct ubus_context *ctx;
struct blob_buf b;
-static const struct ubus_signature test_object_sig[] = {
- UBUS_METHOD_START("hello"),
- UBUS_ARRAY("test"),
- UBUS_TABLE_START(NULL),
- UBUS_FIELD(INT32, "id"),
- UBUS_FIELD(STRING, "msg"),
- UBUS_TABLE_END(),
- UBUS_METHOD_END(),
-};
-
-static struct ubus_object_type test_object_type =
- UBUS_OBJECT_TYPE("test", test_object_sig);
-
enum {
HELLO_ID,
HELLO_MSG,
}
static const struct ubus_method test_methods[] = {
- { .name = "hello", .handler = test_hello },
+ UBUS_METHOD("hello", test_hello, hello_policy),
};
+static struct ubus_object_type test_object_type =
+ UBUS_OBJECT_TYPE("test", test_methods);
+
static struct ubus_object test_object = {
.name = "test",
.type = &test_object_type,
return -1;
}
- fprintf(stderr, "Connected as ID 0x%08x\n", ctx->local_id);
-
- fprintf(stderr, "Publishing object\n");
ret = ubus_add_object(ctx, &test_object);
if (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_add_object(ctx, &test_object2);
if (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);
- }
+
uloop_init();
ubus_add_uloop(ctx);
uloop_run();