1.1 --- a/libfsserver/include/fsserver/notification.h Thu Feb 23 23:49:26 2023 +0100
1.2 +++ b/libfsserver/include/fsserver/notification.h Sat Feb 25 18:10:13 2023 +0100
1.3 @@ -1,7 +1,7 @@
1.4 /*
1.5 * Notification support.
1.6 *
1.7 - * Copyright (C) 2021, 2022 Paul Boddie <paul@boddie.org.uk>
1.8 + * Copyright (C) 2021, 2022, 2023 Paul Boddie <paul@boddie.org.uk>
1.9 *
1.10 * This program is free software; you can redistribute it and/or
1.11 * modify it under the terms of the GNU General Public License as
1.12 @@ -45,7 +45,14 @@
1.13 {
1.14 public:
1.15 NotifierSet notifiers;
1.16 - notify_flags_t flags = 0, deferred = 0;
1.17 +
1.18 + /* Notification flag mask, deferred flags. */
1.19 +
1.20 + notify_flags_t flags = 0, deferred_flags = 0;
1.21 +
1.22 + /* Deferred values. */
1.23 +
1.24 + notify_values_t deferred_values = NOTIFY_VALUES_NULL;
1.25 };
1.26
1.27 typedef std::vector<NotificationEndpoint> NotificationEndpointList;
1.28 @@ -74,11 +81,13 @@
1.29
1.30 /* Deferred notifications for new endpoints. */
1.31
1.32 - notify_flags_t _deferred = 0;
1.33 + notify_flags_t _deferred_flags = 0;
1.34 + notify_values_t _deferred_values = NOTIFY_VALUES_NULL;
1.35
1.36 virtual void release_notifiers();
1.37
1.38 - virtual void _notify(unsigned int endpoint, notify_flags_t flags);
1.39 + virtual void _notify(unsigned int endpoint, notify_flags_t flags,
1.40 + notify_values_t values);
1.41
1.42 virtual long _subscribe(unsigned int endpoint, l4_cap_idx_t notifier,
1.43 notify_flags_t flags, void *subscriber);
1.44 @@ -90,11 +99,13 @@
1.45
1.46 virtual ~NotificationSupport();
1.47
1.48 - virtual void notify(unsigned int endpoint, notify_flags_t flags);
1.49 + virtual void notify(unsigned int endpoint, notify_flags_t flags,
1.50 + notify_values_t values);
1.51
1.52 - virtual void notify_all(notify_flags_t flags);
1.53 + virtual void notify_all(notify_flags_t flags, notify_values_t values);
1.54
1.55 - virtual void notify_others(unsigned int endpoint, notify_flags_t flags);
1.56 + virtual void notify_others(unsigned int endpoint, notify_flags_t flags,
1.57 + notify_values_t values);
1.58
1.59 virtual long subscribe(l4_cap_idx_t notifier, notify_flags_t flags,
1.60 void *subscriber, unsigned int *endpoint_number);