dovecot-2.2-pigeonhole: lib-sieve: mailbox extension: Made :crea...

pigeonhole at rename-it.nl pigeonhole at rename-it.nl
Wed Jul 30 17:57:33 UTC 2014


details:   http://hg.rename-it.nl/dovecot-2.2-pigeonhole/rev/6962669ad2e6
changeset: 1902:6962669ad2e6
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Wed Jul 30 19:57:17 2014 +0200
description:
lib-sieve: mailbox extension: Made :create tag available for new commands.

diffstat:

 src/lib-sieve/plugins/mailbox/Makefile.am          |   9 +++++++-
 src/lib-sieve/plugins/mailbox/ext-mailbox-common.h |   2 +
 src/lib-sieve/plugins/mailbox/ext-mailbox.c        |  15 +++++++++++++
 src/lib-sieve/plugins/mailbox/sieve-ext-mailbox.h  |  24 ++++++++++++++++++++++
 src/lib-sieve/plugins/mailbox/tst-mailboxexists.c  |   1 +
 5 files changed, 50 insertions(+), 1 deletions(-)

diffs (93 lines):

diff -r 1a010c4d0a0a -r 6962669ad2e6 src/lib-sieve/plugins/mailbox/Makefile.am
--- a/src/lib-sieve/plugins/mailbox/Makefile.am	Wed Jul 30 13:50:48 2014 +0200
+++ b/src/lib-sieve/plugins/mailbox/Makefile.am	Wed Jul 30 19:57:17 2014 +0200
@@ -15,5 +15,12 @@
 	$(tests) \
 	ext-mailbox.c
 
-noinst_HEADERS = \
+public_headers = \
+	sieve-ext-mailbox.h
+
+headers = \
 	ext-mailbox-common.h
+
+pkginc_libdir=$(dovecot_pkgincludedir)/sieve
+pkginc_lib_HEADERS = $(public_headers)
+noinst_HEADERS = $(headers)
diff -r 1a010c4d0a0a -r 6962669ad2e6 src/lib-sieve/plugins/mailbox/ext-mailbox-common.h
--- a/src/lib-sieve/plugins/mailbox/ext-mailbox-common.h	Wed Jul 30 13:50:48 2014 +0200
+++ b/src/lib-sieve/plugins/mailbox/ext-mailbox-common.h	Wed Jul 30 19:57:17 2014 +0200
@@ -6,6 +6,8 @@
 
 #include "sieve-common.h"
 
+#include "sieve-ext-mailbox.h"
+
 /*
  * Tagged arguments
  */
diff -r 1a010c4d0a0a -r 6962669ad2e6 src/lib-sieve/plugins/mailbox/ext-mailbox.c
--- a/src/lib-sieve/plugins/mailbox/ext-mailbox.c	Wed Jul 30 13:50:48 2014 +0200
+++ b/src/lib-sieve/plugins/mailbox/ext-mailbox.c	Wed Jul 30 19:57:17 2014 +0200
@@ -25,6 +25,21 @@
 #include "ext-mailbox-common.h"
 
 /*
+ * Tag registration
+ */
+
+void sieve_ext_mailbox_register_create_tag
+(struct sieve_validator *valdtr, const struct sieve_extension *mailbox_ext,
+	const char *command)
+{
+	if ( sieve_validator_extension_loaded(valdtr, mailbox_ext) ) {
+		sieve_validator_register_external_tag(valdtr, command,
+			mailbox_ext, &mailbox_create_tag, SIEVE_OPT_SIDE_EFFECT);
+	}
+}
+
+
+/*
  * Extension
  */
 
diff -r 1a010c4d0a0a -r 6962669ad2e6 src/lib-sieve/plugins/mailbox/sieve-ext-mailbox.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/lib-sieve/plugins/mailbox/sieve-ext-mailbox.h	Wed Jul 30 19:57:17 2014 +0200
@@ -0,0 +1,24 @@
+/* Copyright (c) 2002-2014 Pigeonhole authors, see the included COPYING file
+ */
+
+#ifndef __SIEVE_EXT_MAILBOX_H
+#define __SIEVE_EXT_MAILBOX_H
+
+/* sieve_ext_mailbox_get_extension():
+ *   Get the extension struct for the mailbox extension.
+ */
+static inline const struct sieve_extension *sieve_ext_mailbox_get_extension
+(struct sieve_instance *svinst)
+{
+	return sieve_extension_get_by_name(svinst, "mailbox");
+}
+
+/* sieve_ext_mailbox_register_create_tag():
+ *   Register the :create tagged argument for a command other than fileinto and
+ *   redirect.
+ */
+void sieve_ext_mailbox_register_create_tag
+	(struct sieve_validator *valdtr, const struct sieve_extension *mailbox_ext,
+		const char *command);
+
+#endif /* __SIEVE_EXT_MAILBOX_H */
diff -r 1a010c4d0a0a -r 6962669ad2e6 src/lib-sieve/plugins/mailbox/tst-mailboxexists.c
--- a/src/lib-sieve/plugins/mailbox/tst-mailboxexists.c	Wed Jul 30 13:50:48 2014 +0200
+++ b/src/lib-sieve/plugins/mailbox/tst-mailboxexists.c	Wed Jul 30 19:57:17 2014 +0200
@@ -7,6 +7,7 @@
 #include "mail-namespace.h"
 
 #include "sieve-common.h"
+#include "sieve-extensions.h"
 #include "sieve-commands.h"
 #include "sieve-stringlist.h"
 #include "sieve-code.h"


More information about the dovecot-cvs mailing list