![]() |
![]() |
![]() |
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);
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 |