X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fubus.git;a=blobdiff_plain;f=listener.c;h=ffd8d6e5161075fa7592620e0584daaa780b3182;hp=08b7c648564860cf2007e6895ad90ffc76d10eb6;hb=1a871e1e89055f8683793f1ca0d629ca2fa4d3be;hpb=44096a0a342c773bf661f64d37d7c08fc96a68f8;ds=sidebyside diff --git a/listener.c b/listener.c index 08b7c64..ffd8d6e 100644 --- a/listener.c +++ b/listener.c @@ -5,24 +5,39 @@ static struct ubus_context *ctx; 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_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); +static int test_hello(struct ubus_object *obj, struct ubus_request_data *req, + const char *method, struct blob_attr *msg) +{ + fprintf(stderr, "Hello, world!\n"); + return 0; +} + +static const struct ubus_method test_methods[] = { + { .name = "hello", .handler = test_hello }, +}; + static struct ubus_object test_object = { .name = "test", .type = &test_object_type, + .methods = test_methods, + .n_methods = ARRAY_SIZE(test_methods), }; static struct ubus_object test_object2 = { .name = "test2", .type = &test_object_type, + .methods = test_methods, + .n_methods = ARRAY_SIZE(test_methods), }; int main(int argc, char **argv)