Fix: Java application context: pass application context argument to callbacks
[lttng-ust.git] / src / lib / lttng-ust-java-agent / jni / common / lttng_ust_context.c
index 1562ab0a3eebc2afbcc602687bca4af6d0a4af38..5e6add28704a8993759784d9e7268a24fea16aa8 100644 (file)
@@ -11,7 +11,7 @@
 #include <string.h>
 #include <inttypes.h>
 #include <lttng/ust-events.h>
-#include <lttng/ringbuffer-context.h>
+#include <lttng/ust-ringbuffer-context.h>
 #include <common/ust-context-provider.h>
 
 #include "common/macros.h"
@@ -79,12 +79,13 @@ static struct lttng_ust_jni_ctx_entry *lookup_ctx_by_name(const char *ctx_name)
        return NULL;
 }
 
-static size_t get_size_cb(void *priv, size_t offset)
+static size_t get_size_cb(void *priv, struct lttng_ust_probe_ctx *probe_ctx __attribute__((unused)),
+               size_t offset)
 {
+       const struct lttng_ust_app_context *app_ctx = (const struct lttng_ust_app_context *) priv;
+       const char *ctx_name = app_ctx->ctx_name;
        struct lttng_ust_jni_ctx_entry *jctx;
        size_t size = 0;
-       struct lttng_ust_jni_provider *jni_provider = (struct lttng_ust_jni_provider *) priv;
-       const char *ctx_name = jni_provider->name;
        enum lttng_ust_jni_type jni_type;
 
        size += lttng_ust_ring_buffer_align(offset, lttng_ust_rb_alignof(char));
@@ -142,12 +143,13 @@ static size_t get_size_cb(void *priv, size_t offset)
 }
 
 static void record_cb(void *priv,
+                struct lttng_ust_probe_ctx *probe_ctx __attribute__((unused)),
                 struct lttng_ust_ring_buffer_ctx *ctx,
                 struct lttng_ust_channel_buffer *lttng_chan_buf)
 {
+       const struct lttng_ust_app_context *app_ctx = (const struct lttng_ust_app_context *) priv;
+       const char *ctx_name = app_ctx->ctx_name;
        struct lttng_ust_jni_ctx_entry *jctx;
-       struct lttng_ust_jni_provider *jni_provider = (struct lttng_ust_jni_provider *) priv;
-       const char *ctx_name = jni_provider->name;
        enum lttng_ust_jni_type jni_type;
        char sel_char;
 
@@ -247,11 +249,12 @@ static void record_cb(void *priv,
        }
 }
 
-static void get_value_cb(void *priv, struct lttng_ust_ctx_value *value)
+static void get_value_cb(void *priv, struct lttng_ust_probe_ctx *probe_ctx __attribute__((unused)),
+               struct lttng_ust_ctx_value *value)
 {
-       struct lttng_ust_jni_provider *jni_provider = (struct lttng_ust_jni_provider *) priv;
+       const struct lttng_ust_app_context *app_ctx = (const struct lttng_ust_app_context *) priv;
+       const char *ctx_name = app_ctx->ctx_name;
        struct lttng_ust_jni_ctx_entry *jctx;
-       const char *ctx_name = jni_provider->name;
        enum lttng_ust_jni_type jni_type;
 
        jctx = lookup_ctx_by_name(ctx_name);
This page took 0.024256 seconds and 4 git commands to generate.