+#include <unistd.h>
+
#include "libubus.h"
static struct ubus_context *ctx;
int main(int argc, char **argv)
{
- int ret;
+ const char *progname, *ubus_socket = NULL;
+ int ret = 0;
+ int ch;
+
+ progname = argv[0];
+
+ while ((ch = getopt(argc, argv, "s:")) != -1) {
+ switch (ch) {
+ case 's':
+ ubus_socket = optarg;
+ break;
+ default:
+ break;
+ }
+ }
- ctx = ubus_connect(NULL);
+ argc -= optind;
+ argv += optind;
+
+ ctx = ubus_connect(ubus_socket);
if (!ctx) {
fprintf(stderr, "Failed to connect to ubus\n");
return -1;
}
- 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));
- else {
- fprintf(stderr, "Object ID: %08x\n", test_object.id);
- fprintf(stderr, "Object Type ID: %08x\n", test_object.type->id);
- }
+ fprintf(stderr, "Failed to add_object object: %s\n", ubus_strerror(ret));
- 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));
- else {
- fprintf(stderr, "Object ID: %08x\n", test_object2.id);
- fprintf(stderr, "Object Type ID: %08x\n", test_object2.type->id);
- }
+ fprintf(stderr, "Failed to add_object object: %s\n", ubus_strerror(ret));
+
uloop_init();
ubus_add_uloop(ctx);
uloop_run();