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_dups () const { return _skip_dups; }
|
||||||
bool skip_unreadable () const { return _skip_unreadable; }
|
bool skip_unreadable () const { return _skip_unreadable; }
|
||||||
|
|
||||||
|
@ -300,12 +301,43 @@ mu_msg_iter_is_done (MuMsgIter *iter)
|
||||||
unsigned int
|
unsigned int
|
||||||
mu_msg_iter_get_docid (MuMsgIter *iter)
|
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),
|
g_return_val_if_fail (!mu_msg_iter_is_done(iter),
|
||||||
(unsigned int)-1);
|
(unsigned int)-1);
|
||||||
try {
|
try {
|
||||||
return iter->cursor().get_document().get_docid();
|
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);
|
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 */
|
/* FIXME */
|
||||||
const char* mu_msg_iter_get_path (MuMsgIter *iter);
|
const char* mu_msg_iter_get_path (MuMsgIter *iter);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue