X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Fnotification%2Fnotification-internal.h;h=a4b0eec2eb9baa50fcbbccbb99bf126502cccc41;hb=a02903c0743cebd1f51227905ee89e571b84acbc;hp=648977f3378ff804ba542ddccd83cb07a74134c2;hpb=3647288fe42b25340f905046f3bd9aef21e12aaa;p=lttng-tools.git diff --git a/include/lttng/notification/notification-internal.h b/include/lttng/notification/notification-internal.h index 648977f33..a4b0eec2e 100644 --- a/include/lttng/notification/notification-internal.h +++ b/include/lttng/notification/notification-internal.h @@ -1,18 +1,8 @@ /* - * Copyright (C) 2017 - Jérémie Galarneau + * Copyright (C) 2017 Jérémie Galarneau * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License, version 2.1 only, - * as published by the Free Software Foundation. + * SPDX-License-Identifier: LGPL-2.1-only * - * This library is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License - * for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef LTTNG_NOTIFICATION_INTERNAL_H @@ -20,30 +10,16 @@ #include #include -#include -#include #include #include #include +struct lttng_payload; +struct lttng_payload_view; + struct lttng_notification { struct lttng_condition *condition; struct lttng_evaluation *evaluation; - /* - * The ownership of the notification's inner-elements depends - * on the way it was created. The notification owns both - * the condition and evaluation if it was obtained from a notification - * channel (i.e. created using lttng_notification_create_from_buffer) - * as the user may never access the condition and evaluation, - * thus never getting a chance to free them. - * - * However, when the _private_ lttng_notification_create() function - * is used, no ownership of condition and evaluation is assumed by - * the notification object. The main reason for this change in - * behavior is that internal users of this API only use the object - * to use its serialization facilities. - */ - bool owns_elements; }; struct lttng_notification_comm { @@ -59,12 +35,12 @@ struct lttng_notification *lttng_notification_create( struct lttng_evaluation *evaluation); LTTNG_HIDDEN -int lttng_notification_serialize(struct lttng_notification *notification, - struct lttng_dynamic_buffer *buf); +int lttng_notification_serialize(const struct lttng_notification *notification, + struct lttng_payload *payload); LTTNG_HIDDEN -ssize_t lttng_notification_create_from_buffer( - const struct lttng_buffer_view *view, +ssize_t lttng_notification_create_from_payload( + struct lttng_payload_view *view, struct lttng_notification **notification); #endif /* LTTNG_NOTIFICATION_INTERNAL_H */