Open Source Telephony
 help / color / mirror / Atom feed
* [PATCH] watchlist: added macro for notifying with no args
@ 2017-11-14 17:24 James Prestwood
  2017-11-14 17:25 ` James Prestwood
  0 siblings, 1 reply; 2+ messages in thread
From: James Prestwood @ 2017-11-14 17:24 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 1376 bytes --]

The macros currently did not support notifying a watchlist with
no extra arguments.
---
 src/watchlist.h | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/src/watchlist.h b/src/watchlist.h
index 737b80d..3d87810 100644
--- a/src/watchlist.h
+++ b/src/watchlist.h
@@ -2,7 +2,7 @@
  *
  *  Wireless daemon for Linux
  *
- *  Copyright (C) 2016  Intel Corporation. All rights reserved.
+ *  Copyright (C) 2016-2017  Intel Corporation. All rights reserved.
  *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
@@ -92,3 +92,19 @@ void __watchlist_prune_stale(struct watchlist *watchlist);
 		if ((watchlist)->stale_items)				\
 			__watchlist_prune_stale(watchlist);		\
 	} while	(false)
+
+#define WATCHLIST_NOTIFY_NO_ARGS(watchlist, type)			\
+	do {								\
+		const struct l_queue_entry *entry =			\
+				l_queue_get_entries((watchlist)->items);\
+									\
+		(watchlist)->in_notify = true;				\
+		for (; entry; entry = entry->next) {			\
+			struct watchlist_item *item = entry->data;	\
+			type t = item->notify;				\
+			t(item->notify_data);			\
+		}							\
+		(watchlist)->in_notify = false;				\
+		if ((watchlist)->stale_items)				\
+			__watchlist_prune_stale(watchlist);		\
+	} while	(false)
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] watchlist: added macro for notifying with no args
  2017-11-14 17:24 [PATCH] watchlist: added macro for notifying with no args James Prestwood
@ 2017-11-14 17:25 ` James Prestwood
  0 siblings, 0 replies; 2+ messages in thread
From: James Prestwood @ 2017-11-14 17:25 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 1549 bytes --]

Sorry, did I not mean to send to this list.


On 11/14/2017 09:24 AM, James Prestwood wrote:
> The macros currently did not support notifying a watchlist with
> no extra arguments.
> ---
>   src/watchlist.h | 18 +++++++++++++++++-
>   1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/src/watchlist.h b/src/watchlist.h
> index 737b80d..3d87810 100644
> --- a/src/watchlist.h
> +++ b/src/watchlist.h
> @@ -2,7 +2,7 @@
>    *
>    *  Wireless daemon for Linux
>    *
> - *  Copyright (C) 2016  Intel Corporation. All rights reserved.
> + *  Copyright (C) 2016-2017  Intel Corporation. All rights reserved.
>    *
>    *  This library is free software; you can redistribute it and/or
>    *  modify it under the terms of the GNU Lesser General Public
> @@ -92,3 +92,19 @@ void __watchlist_prune_stale(struct watchlist *watchlist);
>   		if ((watchlist)->stale_items)				\
>   			__watchlist_prune_stale(watchlist);		\
>   	} while	(false)
> +
> +#define WATCHLIST_NOTIFY_NO_ARGS(watchlist, type)			\
> +	do {								\
> +		const struct l_queue_entry *entry =			\
> +				l_queue_get_entries((watchlist)->items);\
> +									\
> +		(watchlist)->in_notify = true;				\
> +		for (; entry; entry = entry->next) {			\
> +			struct watchlist_item *item = entry->data;	\
> +			type t = item->notify;				\
> +			t(item->notify_data);			\
> +		}							\
> +		(watchlist)->in_notify = false;				\
> +		if ((watchlist)->stale_items)				\
> +			__watchlist_prune_stale(watchlist);		\
> +	} while	(false)


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-11-14 17:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-14 17:24 [PATCH] watchlist: added macro for notifying with no args James Prestwood
2017-11-14 17:25 ` James Prestwood

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox