mirror of https://github.com/djcb/mu.git
* mu-msg-iter: add mu_msg_iter_get_msgid and mu_msg_iter_get_refs
This commit is contained in:
parent
836c932f2a
commit
f366c0f680
|
@ -137,6 +137,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
bool skip_dups () const { return _skip_dups; }
|
||||
bool skip_unreadable () const { return _skip_unreadable; }
|
||||
|
||||
|
@ -300,12 +301,43 @@ mu_msg_iter_is_done (MuMsgIter *iter)
|
|||
unsigned int
|
||||
mu_msg_iter_get_docid (MuMsgIter *iter)
|
||||
{
|
||||
g_return_val_if_fail (iter, (unsigned int)-1);
|
||||
g_return_val_if_fail (!mu_msg_iter_is_done(iter),
|
||||
(unsigned int)-1);
|
||||
try {
|
||||
return iter->cursor().get_document().get_docid();
|
||||
|
||||
} MU_XAPIAN_CATCH_BLOCK_RETURN (0);
|
||||
} MU_XAPIAN_CATCH_BLOCK_RETURN ((unsigned int)-1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
const char*
|
||||
mu_msg_iter_get_msgid (MuMsgIter *iter)
|
||||
{
|
||||
g_return_val_if_fail (iter, NULL);
|
||||
g_return_val_if_fail (!mu_msg_iter_is_done(iter), NULL);
|
||||
|
||||
try {
|
||||
return iter->cursor().get_document().get_value(MU_MSG_FIELD_ID_MSGID).c_str();
|
||||
} MU_XAPIAN_CATCH_BLOCK_RETURN (NULL);
|
||||
}
|
||||
|
||||
|
||||
char**
|
||||
mu_msg_iter_get_refs (MuMsgIter *iter)
|
||||
{
|
||||
g_return_val_if_fail (iter, NULL);
|
||||
g_return_val_if_fail (!mu_msg_iter_is_done(iter), NULL);
|
||||
|
||||
try {
|
||||
std::string refs (
|
||||
iter->cursor().get_document().get_value(MU_MSG_FIELD_ID_REFS));
|
||||
if (refs.empty())
|
||||
return NULL;
|
||||
return g_strsplit (refs.c_str(),",", -1);
|
||||
|
||||
} MU_XAPIAN_CATCH_BLOCK_RETURN (NULL);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -177,6 +177,33 @@ typedef struct _MuMsgIterThreadInfo MuMsgIterThreadInfo;
|
|||
*/
|
||||
const MuMsgIterThreadInfo* mu_msg_iter_get_thread_info (MuMsgIter *iter);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* get a the message-id for this message
|
||||
*
|
||||
* @param iter a valid MuMsgIter iterator
|
||||
*
|
||||
* @return the message-id; this only stays valid as long as the
|
||||
* current iter stays valid.
|
||||
*/
|
||||
const char* mu_msg_iter_get_msgid (MuMsgIter *iter);
|
||||
|
||||
/**
|
||||
* get the list of references for this messages as a NULL-terminated
|
||||
* string array
|
||||
*
|
||||
* @param iter a valid MuMsgIter iterator
|
||||
*
|
||||
* @return a NULL-terminated string array. free with g_strfreev when
|
||||
* it's no longer needed.
|
||||
*/
|
||||
char** mu_msg_iter_get_refs (MuMsgIter *iter);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* FIXME */
|
||||
const char* mu_msg_iter_get_path (MuMsgIter *iter);
|
||||
|
||||
|
|
Loading…
Reference in New Issue