[PATCH 6/7] go: Bind notmuch_database_find_message_by_filename
Adrien Bustany
adrien at bustany.org
Wed Jul 18 11:34:34 PDT 2012
---
bindings/go/src/notmuch/notmuch.go | 39 ++++++++++++++++++++++++++++++++++++
1 files changed, 39 insertions(+), 0 deletions(-)
diff --git a/bindings/go/src/notmuch/notmuch.go b/bindings/go/src/notmuch/notmuch.go
index 384d5a5..be4cb8c 100644
--- a/bindings/go/src/notmuch/notmuch.go
+++ b/bindings/go/src/notmuch/notmuch.go
@@ -453,6 +453,45 @@ func (self *Database) FindMessage(message_id string) (*Message, Status) {
return createMessage(msg, nil), st
}
+/* Find a message with the given filename.
+ *
+ * If the database contains a message with the given filename then, on
+ * successful return (NOTMUCH_STATUS_SUCCESS) '*message' will be initialized to
+ * a message object. The caller should call notmuch_message_destroy when done
+ * with the message.
+ *
+ * On any failure or when the message is not found, this function initializes
+ * '*message' to NULL. This means, when NOTMUCH_STATUS_SUCCESS is returned, the
+ * caller is supposed to check '*message' for NULL to find out whether the
+ * message with the given filename is found.
+ *
+ * Return value:
+ *
+ * NOTMUCH_STATUS_SUCCESS: Successful return, check '*message'
+ *
+ * NOTMUCH_STATUS_NULL_POINTER: The given 'message' argument is NULL
+ *
+ * NOTMUCH_STATUS_OUT_OF_MEMORY: Out of memory, creating the message object
+ *
+ * NOTMUCH_STATUS_XAPIAN_EXCEPTION: A Xapian exception occurred
+ */
+func (self *Database) FindMessageByFilename(filename string) (*Message, Status) {
+
+ var c_msg_filename *C.char = C.CString(filename)
+ defer C.free(unsafe.Pointer(c_msg_filename))
+
+ if c_msg_filename == nil {
+ return nil, STATUS_OUT_OF_MEMORY
+ }
+
+ var msg *C.notmuch_message_t
+ st := Status(C.notmuch_database_find_message_by_filename(self.db, c_msg_filename, &msg))
+ if st != STATUS_SUCCESS {
+ return nil, st
+ }
+ return createMessage(msg, nil), st
+}
+
/* Return a list of all tags found in the database.
*
* This function creates a list of all tags found in the database. The
--
1.7.7.6
More information about the notmuch
mailing list