* <many>: update for mu-msg-field change
This commit is contained in:
@ -181,54 +181,50 @@ mu_msg_iter_is_done (MuMsgIter *iter)
|
||||
|
||||
|
||||
const gchar*
|
||||
mu_msg_iter_get_field (MuMsgIter *iter, const MuMsgField *field)
|
||||
mu_msg_iter_get_field (MuMsgIter *iter, MuMsgFieldId mfid)
|
||||
{
|
||||
g_return_val_if_fail (field, NULL);
|
||||
g_return_val_if_fail (!mu_msg_iter_is_done(iter), NULL);
|
||||
|
||||
g_return_val_if_fail (mu_msg_field_id_is_valid(mfid), NULL);
|
||||
|
||||
try {
|
||||
MuMsgFieldId id;
|
||||
|
||||
id = mu_msg_field_id (field);
|
||||
if (!iter->_str[id]) { /* cache the value */
|
||||
if (!iter->_str[mfid]) { /* cache the value */
|
||||
Xapian::Document doc (iter->_cursor.get_document());
|
||||
iter->_str[id] = g_strdup (doc.get_value(id).c_str());
|
||||
iter->_str[mfid] =
|
||||
g_strdup (doc.get_value(mfid).c_str());
|
||||
}
|
||||
|
||||
return iter->_str[id];
|
||||
return iter->_str[mfid];
|
||||
|
||||
} MU_XAPIAN_CATCH_BLOCK_RETURN(NULL);
|
||||
}
|
||||
|
||||
|
||||
gint64
|
||||
mu_msg_iter_get_field_numeric (MuMsgIter *iter,
|
||||
const MuMsgField *field)
|
||||
mu_msg_iter_get_field_numeric (MuMsgIter *iter, MuMsgFieldId mfid)
|
||||
{
|
||||
g_return_val_if_fail (field, -1);
|
||||
g_return_val_if_fail (!mu_msg_iter_is_done(iter), -1);
|
||||
g_return_val_if_fail (mu_msg_field_is_numeric(field), -1);
|
||||
g_return_val_if_fail (mu_msg_field_is_numeric(mfid), -1);
|
||||
|
||||
try {
|
||||
return static_cast<gint64>(
|
||||
Xapian::sortable_unserialise(
|
||||
mu_msg_iter_get_field(iter, field)));
|
||||
mu_msg_iter_get_field(iter, mfid)));
|
||||
|
||||
} MU_XAPIAN_CATCH_BLOCK_RETURN(static_cast<gint64>(-1));
|
||||
}
|
||||
|
||||
|
||||
|
||||
static const gchar*
|
||||
get_field (MuMsgIter *iter, MuMsgFieldId id)
|
||||
{
|
||||
return mu_msg_iter_get_field(iter, mu_msg_field_from_id (id));
|
||||
}
|
||||
// static const gchar*
|
||||
// get_field (MuMsgIter *iter, MuMsgFieldId mfid)
|
||||
// {
|
||||
// return mu_msg_iter_get_field(iter, mfid);
|
||||
// }
|
||||
|
||||
static long
|
||||
get_field_number (MuMsgIter *iter, MuMsgFieldId id)
|
||||
get_field_number (MuMsgIter *iter, MuMsgFieldId mfid)
|
||||
{
|
||||
const char* str = get_field (iter, id);
|
||||
const char* str = mu_msg_iter_get_field(iter, mfid);
|
||||
return str ? atol (str) : 0;
|
||||
}
|
||||
|
||||
@ -250,14 +246,14 @@ const char*
|
||||
mu_msg_iter_get_path (MuMsgIter *iter)
|
||||
{
|
||||
g_return_val_if_fail (!mu_msg_iter_is_done(iter), NULL);
|
||||
return get_field (iter, MU_MSG_FIELD_ID_PATH);
|
||||
return mu_msg_iter_get_field (iter, MU_MSG_FIELD_ID_PATH);
|
||||
}
|
||||
|
||||
const char*
|
||||
mu_msg_iter_get_maildir (MuMsgIter *iter)
|
||||
{
|
||||
g_return_val_if_fail (!mu_msg_iter_is_done(iter), NULL);
|
||||
return get_field (iter, MU_MSG_FIELD_ID_MAILDIR);
|
||||
return mu_msg_iter_get_field (iter, MU_MSG_FIELD_ID_MAILDIR);
|
||||
}
|
||||
|
||||
|
||||
@ -266,14 +262,14 @@ const char*
|
||||
mu_msg_iter_get_from (MuMsgIter *iter)
|
||||
{
|
||||
g_return_val_if_fail (!mu_msg_iter_is_done(iter), NULL);
|
||||
return get_field (iter, MU_MSG_FIELD_ID_FROM);
|
||||
return mu_msg_iter_get_field (iter, MU_MSG_FIELD_ID_FROM);
|
||||
}
|
||||
|
||||
const char*
|
||||
mu_msg_iter_get_to (MuMsgIter *iter)
|
||||
{
|
||||
g_return_val_if_fail (!mu_msg_iter_is_done(iter), NULL);
|
||||
return get_field (iter, MU_MSG_FIELD_ID_TO);
|
||||
return mu_msg_iter_get_field (iter, MU_MSG_FIELD_ID_TO);
|
||||
}
|
||||
|
||||
|
||||
@ -281,7 +277,7 @@ const char*
|
||||
mu_msg_iter_get_cc (MuMsgIter *iter)
|
||||
{
|
||||
g_return_val_if_fail (!mu_msg_iter_is_done(iter), NULL);
|
||||
return get_field (iter, MU_MSG_FIELD_ID_CC);
|
||||
return mu_msg_iter_get_field (iter, MU_MSG_FIELD_ID_CC);
|
||||
}
|
||||
|
||||
|
||||
@ -289,7 +285,7 @@ const char*
|
||||
mu_msg_iter_get_subject (MuMsgIter *iter)
|
||||
{
|
||||
g_return_val_if_fail (!mu_msg_iter_is_done(iter), NULL);
|
||||
return get_field (iter, MU_MSG_FIELD_ID_SUBJECT);
|
||||
return mu_msg_iter_get_field (iter, MU_MSG_FIELD_ID_SUBJECT);
|
||||
}
|
||||
|
||||
|
||||
@ -297,45 +293,39 @@ size_t
|
||||
mu_msg_iter_get_size (MuMsgIter *iter)
|
||||
{
|
||||
g_return_val_if_fail (!mu_msg_iter_is_done(iter), 0);
|
||||
return static_cast<size_t>(get_field_number (iter, MU_MSG_FIELD_ID_SIZE));
|
||||
return static_cast<size_t>(get_field_number
|
||||
(iter, MU_MSG_FIELD_ID_SIZE));
|
||||
}
|
||||
|
||||
|
||||
time_t
|
||||
mu_msg_iter_get_date (MuMsgIter *iter)
|
||||
{
|
||||
static const MuMsgField *date_field =
|
||||
mu_msg_field_from_id (MU_MSG_FIELD_ID_DATE);
|
||||
|
||||
g_return_val_if_fail (!mu_msg_iter_is_done(iter), 0);
|
||||
|
||||
try {
|
||||
return static_cast<time_t>(
|
||||
Xapian::sortable_unserialise(
|
||||
mu_msg_iter_get_field(iter, date_field)));
|
||||
mu_msg_iter_get_field
|
||||
(iter,MU_MSG_FIELD_ID_DATE)));
|
||||
|
||||
} MU_XAPIAN_CATCH_BLOCK_RETURN(0);
|
||||
}
|
||||
|
||||
MuMsgFlags
|
||||
mu_msg_iter_get_flags (MuMsgIter *iter)
|
||||
{
|
||||
static const MuMsgField *flags_field =
|
||||
mu_msg_field_from_id (MU_MSG_FIELD_ID_FLAGS);
|
||||
|
||||
g_return_val_if_fail (!mu_msg_iter_is_done(iter), MU_MSG_FLAG_NONE);
|
||||
|
||||
return static_cast<MuMsgFlags>(mu_msg_iter_get_field_numeric
|
||||
(iter, flags_field));
|
||||
(iter, MU_MSG_FIELD_ID_FLAGS));
|
||||
}
|
||||
|
||||
MuMsgPrio
|
||||
mu_msg_iter_get_prio (MuMsgIter *iter)
|
||||
{
|
||||
static const MuMsgField *prio_field =
|
||||
mu_msg_field_from_id (MU_MSG_FIELD_ID_PRIO);
|
||||
|
||||
g_return_val_if_fail (!mu_msg_iter_is_done(iter), MU_MSG_PRIO_NONE);
|
||||
|
||||
return static_cast<MuMsgPrio>(mu_msg_iter_get_field_numeric
|
||||
(iter, prio_field));
|
||||
(iter, MU_MSG_FIELD_ID_PRIO));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user