per account.
Section: mail
Priority: optional
Maintainer: Moises Martinez <moises.martinez@nokia.com>
-Build-Depends: debhelper (>= 4.0.0), cdbs, libmodest-dbus-client-dev (>= 3.2.4), gnome-common, gtkhtml3.14-dev,
+Build-Depends: debhelper (>= 4.0.0), cdbs, libmodest-dbus-client-dev (>= 3.2.5), gnome-common, gtkhtml3.14-dev,
libconic0-dev, libhildon1-dev, libdbus-1-dev, libdbus-glib-1-dev, libebook-dev, osso-af-settings, libedataserver-dev,
libhildonnotify-dev, libgconf2-dev, libglib2.0-dev, libosso-gnomevfs2-dev, libhildonmime-dev, libtinymail-1.0-0-dev,
libtinymail-camel-1.0-0-dev, libtinymail-maemo-1.0-0-dev, libtinymailui-1.0-0-dev, libtinymail-gnomevfs-1.0-0-dev,
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-AC_INIT([libmodestclient],[3.2.4],[http://maemo.org])
+AC_INIT([libmodestclient],[3.2.5],[http://maemo.org])
AC_CONFIG_HEADERS([config.h])
m4_define([modest_api_major_version], [1])
m4_define([modest_api_minor_version], [99])
-m4_define([modest_api_micro_version], [5])
+m4_define([modest_api_micro_version], [6])
m4_define([modest_api_version], [modest_api_major_version.modest_api_minor_version.modest_api_micro_version])
+libmodest-dbus-client (4:3.2.5-0) unstable; urgency=low
+
+ * Now GetUnreadMessages tells the total number of unread messages per account.
+
+ -- Moises Martinez <moises.martinez@nokia.com> Thu, 04 Feb 2010 15:21:06 +0100
+
libmodest-dbus-client (4:3.2.4-0) unstable; urgency=low
* Now GetUnreadMessages also tells the protocol of each account.
goto out;
}
+ /* unread count */
+ arg_type = dbus_message_iter_get_arg_type (&child);
+
+ if (arg_type != DBUS_TYPE_INT64) {
+ error = TRUE;
+ goto out;
+ }
+
+ account_hits->unread_count = _dbus_iter_get_int64 (&child);
+
+ res = dbus_message_iter_next (&child);
+ if (res == FALSE) {
+ error = TRUE;
+ goto out;
+ }
+
/* list of hits */
dbus_message_iter_recurse (&child, &traverse);
account_hits->hits = NULL;
gchar *account_id;
gchar *account_name;
gchar *store_protocol;
+ gint unread_count;
GList *hits;
} ModestAccountHits;
DBUS_TYPE_STRING_AS_STRING \
DBUS_TYPE_STRING_AS_STRING \
DBUS_TYPE_STRING_AS_STRING \
+ DBUS_TYPE_INT64_AS_STRING \
DBUS_TYPE_ARRAY_AS_STRING \
ACCOUNT_HIT_DBUS_TYPE \
DBUS_STRUCT_END_CHAR_AS_STRING
gchar *account_name;
gchar *store_protocol;
gchar *mailbox_id;
+ gint unread_count;
GList *header_list;
} AccountHits;
const char *account_id;
const char *account_name;
const char *store_protocol;
+ gint64 unread_count;
DBusMessageIter ah_struct_iter;
DBusMessageIter sh_array_iter;
GList *result_node;
account_id = ah->account_id;
account_name = ah->account_name;
store_protocol = ah->store_protocol;
+ unread_count = ah->unread_count;
dbus_message_iter_append_basic (&ah_struct_iter,
DBUS_TYPE_STRING,
&account_id);
dbus_message_iter_append_basic (&ah_struct_iter,
DBUS_TYPE_STRING,
&store_protocol);
+ dbus_message_iter_append_basic (&ah_struct_iter,
+ DBUS_TYPE_INT64,
+ &unread_count);
dbus_message_iter_open_container (&ah_struct_iter,
DBUS_TYPE_ARRAY,
const gchar *bar;
ModestProtocolType store_protocol_type;
ModestProtocol *store_protocol;
+ gint unread_count;
acc_iterator = tny_list_create_iterator (helper->accounts_list);
account = TNY_ACCOUNT (tny_iterator_get_current (acc_iterator));
headers_iterator = tny_list_create_iterator (headers);
+ unread_count = 0;
while (!tny_iterator_is_done (headers_iterator)) {
TnyHeader *header;
TnyHeaderFlags flags;
header = TNY_HEADER (tny_iterator_get_current (headers_iterator));
flags = tny_header_get_flags (header);
if (!(flags & TNY_HEADER_FLAG_SEEN)) {
- result_list = g_list_insert_sorted (result_list, g_object_ref (header), (GCompareFunc) headers_cmp);
+ unread_count++;
+ result_list = g_list_insert_sorted (result_list, g_object_ref (header), (GCompareFunc) headers_cmp);
if (members_count == helper->unread_msgs_count) {
g_object_unref (result_list->data);
result_list = g_list_delete_link (result_list, result_list);
account_hits->store_protocol = g_strdup (modest_protocol_get_name (store_protocol));
account_hits->header_list = result_list;
account_hits->mailbox_id = NULL;
+ account_hits->unread_count = unread_count;
folder_id = tny_folder_get_id (self);
bar = g_strstr_len (folder_id, -1, "/");
ModestAccountHits *hits = (ModestAccountHits *) iter->data;
GList *header_node;
- g_print ("Account: id: %s name: %s protocol: %s\n", hits->account_id, hits->account_name, hits->store_protocol);
+ g_print ("Account: id: %s name: %s protocol: %s unread: %d\n", hits->account_id, hits->account_name,
+ hits->store_protocol, (gint32) hits->unread_count);
for (header_node = hits->hits; header_node != NULL; header_node = g_list_next (header_node)) {
ModestGetUnreadMessagesHit *hit = (ModestGetUnreadMessagesHit *) header_node->data;