| Ximian Connector for Microsoft Exchange Programmer’s Reference Manual |
|---|
E2kResult (private)E2kResult (private) — private E2kResult methods |
GArray* e2k_results_array_new (void); void e2k_results_array_add_from_multistatus (GArray *results_array, SoupMessage *msg); void e2k_results_array_free (GArray *results_array, gboolean free_results); void e2k_results_from_multistatus (SoupMessage *msg, E2kResult **results, int *nresults); E2kResult* e2k_results_copy (E2kResult *results, int nresults); E2kHTTPStatus (*E2kResultIterFetchFunc) (E2kResultIter *iter, E2kContext *ctx, E2kOperation *op, E2kResult **results, int *nresults, int *first, int *total, gpointer user_data); void (*E2kResultIterFreeFunc) (E2kResultIter *iter, gpointer user_data); E2kResultIter* e2k_result_iter_new (E2kContext *ctx, E2kOperation *op, gboolean ascending, int total, E2kResultIterFetchFunc fetch_func, E2kResultIterFreeFunc free_func, gpointer user_data);
These are the E2kOperation methods used internally by E2kContext.
GArray* e2k_results_array_new (void);
Creates a new results array
| Returns : | the array |
void e2k_results_array_add_from_multistatus
(GArray *results_array,
SoupMessage *msg);Constructs an E2kResult for each response in msg and appends them to results_array.
| results_array : | a results array, created by e2k_results_array_new() |
| msg : | a 207 Multi-Status response |
void e2k_results_array_free (GArray *results_array,
gboolean free_results);Frees results_array, and optionally its contents
| results_array : | the array |
| free_results : | whether or not to also free the contents of the array |
void e2k_results_from_multistatus (SoupMessage *msg,
E2kResult **results,
int *nresults);Parses msg and puts the results in *results and *nresults. The caller should free the data with e2k_results_free()
| msg : | a 207 Multi-Status response |
| results : | pointer to a variable to store an array of E2kResult in |
| nresults : | pointer to a variable to store the length of *results in |
E2kResult* e2k_results_copy (E2kResult *results, int nresults);
Performs a deep copy of results
| results : | a results array returned from e2k_results_from_multistatus() |
| nresults : | the length of results |
| Returns : | a copy of results. |
E2kHTTPStatus (*E2kResultIterFetchFunc) (E2kResultIter *iter, E2kContext *ctx, E2kOperation *op, E2kResult **results, int *nresults, int *first, int *total, gpointer user_data);
This is used by E2kResultIter to fetch more results
| iter : | the E2kResultIter |
| ctx : | iter's E2kContext |
| op : | iter's E2kOperation |
| results : | on return, should contain the new results |
| nresults : | on return, should contain the number of results on results |
| first : | on return, indicates the index of the first returned result. (That is, where results[0] would fall in the complete list of results.) |
| total : | on return, indicates the total number of results that will eventually be returned |
| user_data : | iter's user_data |
| Returns : | the HTTP status (if successful, implies that results, etc, were set) |
void (*E2kResultIterFreeFunc) (E2kResultIter *iter, gpointer user_data);
Called to free an E2kResultIter when the caller is done with it
| iter : | the iter |
| user_data : | iter's user_data |
E2kResultIter* e2k_result_iter_new (E2kContext *ctx, E2kOperation *op, gboolean ascending, int total, E2kResultIterFetchFunc fetch_func, E2kResultIterFreeFunc free_func, gpointer user_data);
Creates a object that can be used to return the results of a Multi-Status query on ctx.
fetch_func will be called to fetch results, and it may update the first and total fields if necessary. If ascending is TRUE, then e2k_result_iter_next() will first return the first result, then the second result, etc. If ascending is FALSE, it will return the last result, then the second-to-last result, etc.
When all of the results returned by the first fetch_func call have been returned to the caller, fetch_func will be called again to get more results. This will continue until fetch_func returns 0 results, or returns an error code.
| ctx : | an E2kContext |
| op : | an E2kOperation, to use for cancellation |
| ascending : | TRUE if results should be returned in ascending order, FALSE if they should be returned in descending order |
| total : | the total number of results that will be returned, or -1 if not yet known |
| fetch_func : | function to call to fetch more results |
| free_func : | function to call when the iterator is freed |
| user_data : | data to pass to fetch_func and free_func |
| Returns : | the new iterator |
| << E2kOperation (private) | test-utils >> |