Rewrite the add context command of sessiond
[lttng-tools.git] / liblttngctl / liblttngctl.c
index f8e8d97497342bc41a9f920e4812d6906c671b9d..aca8374a2ebc7f55a22ce0ddceafa15eca8788eb 100644 (file)
@@ -337,30 +337,15 @@ int lttng_add_context(struct lttng_domain *domain,
                struct lttng_event_context *ctx, const char *event_name,
                const char *channel_name)
 {
-       int ret = -1;
-
        copy_string(lsm.u.context.channel_name, channel_name, NAME_MAX);
        copy_string(lsm.u.context.event_name, event_name, NAME_MAX);
+       copy_lttng_domain(domain);
 
        if (ctx) {
                memcpy(&lsm.u.context.ctx, ctx, sizeof(struct lttng_event_context));
        }
 
-       if (domain) {
-               switch (domain->type) {
-               case LTTNG_DOMAIN_KERNEL:
-                       ret = ask_sessiond(LTTNG_KERNEL_ADD_CONTEXT, NULL);
-                       break;
-               case LTTNG_DOMAIN_UST:
-                       ret = LTTCOMM_NOT_IMPLEMENTED;
-                       break;
-               default:
-                       ret = LTTCOMM_UNKNOWN_DOMAIN;
-                       break;
-               };
-       }
-
-       return ret;
+       return ask_sessiond(LTTNG_ADD_CONTEXT, NULL);
 }
 
 /*
@@ -499,22 +484,13 @@ int lttng_disable_channel(struct lttng_domain *domain, const char *name)
 int lttng_list_tracepoints(struct lttng_domain *domain,
                struct lttng_event **events)
 {
-       int ret = -1;
+       int ret;
 
        copy_lttng_domain(domain);
 
-       if (domain) {
-               switch (domain->type) {
-                       case LTTNG_DOMAIN_KERNEL:
-                               ret = ask_sessiond(LTTNG_KERNEL_LIST_EVENTS, (void **) events);
-                               break;
-                       case LTTNG_DOMAIN_UST:
-                               ret = LTTCOMM_NOT_IMPLEMENTED;
-                               break;
-                       default:
-                               ret = LTTCOMM_UNKNOWN_DOMAIN;
-                               break;
-               };
+       ret = ask_sessiond(LTTNG_LIST_TRACEPOINTS, (void **) events);
+       if (ret < 0) {
+               return ret;
        }
 
        return ret / sizeof(struct lttng_event);
This page took 0.026071 seconds and 5 git commands to generate.