[evolution-mapi] Be able to set restrictions in e_mapi_connection_list_items()



commit ca623905a320f833f16477625c74e1dd82b92bd8
Author: Milan Crha <mcrha redhat com>
Date:   Tue Nov 1 11:46:43 2011 +0100

    Be able to set restrictions in e_mapi_connection_list_items()

 src/libexchangemapi/e-mapi-connection.c |   11 ++++++++++-
 src/libexchangemapi/e-mapi-connection.h |    4 +++-
 2 files changed, 13 insertions(+), 2 deletions(-)
---
diff --git a/src/libexchangemapi/e-mapi-connection.c b/src/libexchangemapi/e-mapi-connection.c
index 30587b1..4617d1d 100644
--- a/src/libexchangemapi/e-mapi-connection.c
+++ b/src/libexchangemapi/e-mapi-connection.c
@@ -1808,7 +1808,7 @@ list_items_internal_cb (EMapiConnection *conn, mapi_id_t fid, TALLOC_CTX *mem_ct
 }
 
 gboolean
-e_mapi_connection_list_items (EMapiConnection *conn, mapi_id_t fid, guint32 options, ListItemsCB cb, gpointer user_data, GError **perror)
+e_mapi_connection_list_items (EMapiConnection *conn, mapi_id_t fid, guint32 options, struct mapi_SRestriction *restrictions, ListItemsCB cb, gpointer user_data, GError **perror)
 {
 	enum MAPISTATUS ms;
 	TALLOC_CTX *mem_ctx;
@@ -1852,6 +1852,15 @@ e_mapi_connection_list_items (EMapiConnection *conn, mapi_id_t fid, guint32 opti
 		goto cleanup;
 	}
 
+	if (restrictions) {
+		/* Applying any restriction that are set. */
+		ms = Restrict (&obj_table, restrictions, NULL);
+		if (ms != MAPI_E_SUCCESS) {
+			make_mapi_error (perror, "Restrict", ms);
+			goto cleanup;
+		}
+	}
+
 	lii_data.cb = cb;
 	lii_data.user_data = user_data;
 
diff --git a/src/libexchangemapi/e-mapi-connection.h b/src/libexchangemapi/e-mapi-connection.h
index 8a68ed4..9d7e92b 100644
--- a/src/libexchangemapi/e-mapi-connection.h
+++ b/src/libexchangemapi/e-mapi-connection.h
@@ -200,7 +200,9 @@ gboolean		e_mapi_connection_get_folder_properties (EMapiConnection *conn, mapi_i
 					GError **perror);
 
 gboolean		e_mapi_connection_list_items (EMapiConnection *conn, mapi_id_t fid, guint32 options,
-					ListItemsCB cb, gpointer user_data, GError **perror);
+					struct mapi_SRestriction *restrictions,
+					ListItemsCB cb, gpointer user_data,
+					GError **perror);
 
 gboolean		e_mapi_connection_fetch_object_props (
 					EMapiConnection *conn, mapi_object_t *obj_folder, mapi_id_t fid, mapi_id_t mid, mapi_object_t *obj_message,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]