X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fubus.git;a=blobdiff_plain;f=examples%2Fclient.c;h=75c61a4255eb3372aca0fa93623e1f4ba959cc82;hp=418fb15f151eb385c22bcb108b55701203df53e1;hb=54c78ed9058375e5e548d06499b7a27c5deae81f;hpb=f3fabd45a7f6e33a3dcdb5c1f6b8439fc1d105f5 diff --git a/examples/client.c b/examples/client.c index 418fb15..75c61a4 100644 --- a/examples/client.c +++ b/examples/client.c @@ -27,6 +27,25 @@ static struct ubus_object test_client_object = { .subscribe_cb = test_client_subscribe_cb, }; +static void test_client_notify_cb(struct uloop_timeout *timeout) +{ + static int counter = 0; + int err; + + blob_buf_init(&b, 0); + blobmsg_add_u32(&b, "counter", counter++); + + err = ubus_notify(ctx, &test_client_object, "ping", b.head, 1000); + if (err) + fprintf(stderr, "Notify failed: %s\n", ubus_strerror(err)); + + uloop_timeout_set(timeout, 1000); +} + +static struct uloop_timeout notify_timer = { + .cb = test_client_notify_cb, +}; + static void client_main(void) { uint32_t id; @@ -46,6 +65,7 @@ static void client_main(void) blob_buf_init(&b, 0); blobmsg_add_u32(&b, "id", test_client_object.id); ubus_invoke(ctx, id, "watch", b.head, NULL, 0, 3000); + test_client_notify_cb(¬ify_timer); uloop_run(); }