unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
To: Notmuch Mail <notmuch@notmuchmail.org>
Subject: [PATCH v3 10/16] Add n_d_add_message_with_indexopts (extension of n_d_add_message)
Date: Sun, 31 Jan 2016 15:39:55 -0500	[thread overview]
Message-ID: <1454272801-23623-11-git-send-email-dkg@fifthhorseman.net> (raw)
In-Reply-To: <1454272801-23623-1-git-send-email-dkg@fifthhorseman.net>

Expose the ability to ask for index options via the library interface.
This _add_message_with_indexopts function is now a generalized form of
the older _add_message.  It lets you specify parameters and
configurations that can affect the indexing, like indexing encrypted
messages in the clear should the user choose to do so.

We also adjust the tests so that we test the extended function
returning bad values (since the non-extended function just calls the
extended one).
---
 lib/database.cc     | 20 ++++++++++++++++----
 lib/notmuch.h       | 14 ++++++++++++++
 test/T070-insert.sh |  4 ++--
 3 files changed, 32 insertions(+), 6 deletions(-)

diff --git a/lib/database.cc b/lib/database.cc
index 7d88f69..990b0b1 100644
--- a/lib/database.cc
+++ b/lib/database.cc
@@ -2393,16 +2393,16 @@ _notmuch_database_link_message (notmuch_database_t *notmuch,
 }
 
 notmuch_status_t
-notmuch_database_add_message (notmuch_database_t *notmuch,
-			      const char *filename,
-			      notmuch_message_t **message_ret)
+notmuch_database_add_message_with_indexopts (notmuch_database_t *notmuch,
+					     const char *filename,
+					     notmuch_indexopts_t *indexopts,
+					     notmuch_message_t **message_ret)
 {
     notmuch_message_file_t *message_file;
     notmuch_message_t *message = NULL;
     notmuch_status_t ret = NOTMUCH_STATUS_SUCCESS, ret2;
     notmuch_private_status_t private_status;
     notmuch_bool_t is_ghost = false;
-    notmuch_indexopts_t *indexopts = NULL;
 
     const char *date, *header;
     const char *from, *to, *subject;
@@ -2552,6 +2552,18 @@ notmuch_database_add_message (notmuch_database_t *notmuch,
     return ret;
 }
 
+
+notmuch_status_t
+notmuch_database_add_message (notmuch_database_t *notmuch,
+			      const char *filename,
+			      notmuch_message_t **message_ret)
+{
+    return notmuch_database_add_message_with_indexopts (notmuch, filename,
+							NULL,
+							message_ret);
+    
+}
+
 notmuch_status_t
 notmuch_database_remove_message (notmuch_database_t *notmuch,
 				 const char *filename)
diff --git a/lib/notmuch.h b/lib/notmuch.h
index 3679c54..854a451 100644
--- a/lib/notmuch.h
+++ b/lib/notmuch.h
@@ -588,6 +588,20 @@ notmuch_status_t
 notmuch_database_add_message (notmuch_database_t *database,
 			      const char *filename,
 			      notmuch_message_t **message);
+/**
+ * Add a new message to the given notmuch database or associate an
+ * additional filename with an existing message using specified
+ * options.
+ * 
+ * This does the same thing as notmuch_database_add_message except
+ * that it passes a pre-configured set of indexing options to indicate
+ * how the specific message should be indexed.
+ */
+notmuch_status_t
+notmuch_database_add_message_with_indexopts (notmuch_database_t *database,
+					     const char *filename,
+					     notmuch_indexopts_t *indexopts,
+					     notmuch_message_t **message);
 
 /**
  * Remove a message filename from the given notmuch database. If the
diff --git a/test/T070-insert.sh b/test/T070-insert.sh
index e7ec6a6..557f9d5 100755
--- a/test/T070-insert.sh
+++ b/test/T070-insert.sh
@@ -192,14 +192,14 @@ for code in OUT_OF_MEMORY XAPIAN_EXCEPTION FILE_NOT_EMAIL \
 gen_insert_msg
 cat <<EOF > index-file-$code.gdb
 set breakpoint pending on
-break notmuch_database_add_message
+break notmuch_database_add_message_with_indexopts
 commands
 return NOTMUCH_STATUS_$code
 continue
 end
 run
 EOF
-test_begin_subtest "error exit when add_message returns $code"
+test_begin_subtest "error exit when add_message_with_indexopts returns $code"
 gdb --batch-silent --return-child-result -x index-file-$code.gdb \
     --args notmuch insert  < $gen_msg_filename
 test_expect_equal $? 1
-- 
2.7.0.rc3

  parent reply	other threads:[~2016-01-31 20:40 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-31 20:39 Allow indexing cleartext of encrypted messages (v3) Daniel Kahn Gillmor
2016-01-31 20:39 ` [PATCH v3 01/16] add util/search-path.{c, h} to test for executables in $PATH Daniel Kahn Gillmor
2016-02-09 12:57   ` David Bremner
2016-02-09 21:52     ` [PATCH v4] " Daniel Kahn Gillmor
2016-01-31 20:39 ` [PATCH v3 02/16] Move crypto.c into libutil Daniel Kahn Gillmor
2016-02-10  2:21   ` David Bremner
2016-02-10 14:34     ` Daniel Kahn Gillmor
2016-01-31 20:39 ` [PATCH v3 03/16] make shared crypto code behave library-like Daniel Kahn Gillmor
2016-02-10  2:37   ` David Bremner
2016-02-10 16:18     ` Daniel Kahn Gillmor
2016-01-31 20:39 ` [PATCH v3 04/16] Provide _notmuch_crypto_{set,get}_gpg_path Daniel Kahn Gillmor
2016-02-10 11:45   ` David Bremner
2016-02-10 16:31     ` Daniel Kahn Gillmor
2016-01-31 20:39 ` [PATCH v3 05/16] Use a blank _notmuch_crypto to choose the default gpg_path Daniel Kahn Gillmor
2016-02-10 11:49   ` David Bremner
2016-02-10 16:37     ` Daniel Kahn Gillmor
2016-01-31 20:39 ` [PATCH v3 06/16] Prefer gpg2 in the test suite if available Daniel Kahn Gillmor
2016-02-10 11:54   ` David Bremner
2016-02-10 16:39     ` Daniel Kahn Gillmor
2016-02-10 20:28       ` David Bremner
2016-02-11  7:16       ` Tomi Ollila
2016-01-31 20:39 ` [PATCH v3 07/16] create a notmuch_indexopts_t index options object Daniel Kahn Gillmor
2016-02-27 13:06   ` David Bremner
2016-01-31 20:39 ` [PATCH v3 08/16] reorganize indexing of multipart/signed and multipart/encrypted Daniel Kahn Gillmor
2016-02-27 13:14   ` David Bremner
2016-01-31 20:39 ` [PATCH v3 09/16] index encrypted parts when asked Daniel Kahn Gillmor
2016-02-27 15:49   ` David Bremner
2016-01-31 20:39 ` Daniel Kahn Gillmor [this message]
2016-01-31 20:39 ` [PATCH v3 11/16] add --try-decrypt to notmuch insert Daniel Kahn Gillmor
2016-02-27 15:55   ` David Bremner
2016-01-31 20:39 ` [PATCH v3 12/16] add --try-decrypt to notmuch new Daniel Kahn Gillmor
2016-01-31 20:39 ` [PATCH v3 13/16] add indexopts to notmuch python bindings Daniel Kahn Gillmor
2016-02-28 14:22   ` David Bremner
2016-01-31 20:39 ` [PATCH v3 14/16] test indexing cleartext version of delivered messages Daniel Kahn Gillmor
2016-01-31 20:40 ` [PATCH v3 15/16] added notmuch_message_reindex Daniel Kahn Gillmor
2016-02-10  0:41   ` Jameson Graef Rollins
2016-02-10  1:01     ` Daniel Kahn Gillmor
2016-02-10 17:21       ` Daniel Kahn Gillmor
2016-02-13 18:13         ` David Bremner
2016-02-28 14:52   ` David Bremner
2016-01-31 20:40 ` [PATCH v3 16/16] add "notmuch reindex" subcommand Daniel Kahn Gillmor
2016-02-28 15:05   ` David Bremner
2016-02-06 20:48 ` Allow indexing cleartext of encrypted messages (v3) Tomi Ollila
2016-02-09  8:08 ` Jameson Graef Rollins

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1454272801-23623-11-git-send-email-dkg@fifthhorseman.net \
    --to=dkg@fifthhorseman.net \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).