csa_free_time_search
library call
csa_free_time_search
searches one or more calendars for available free time
#include <xcsa.h>
CSA_return_code csa_free_time_search
CSA_session_handle session
CSA_date_time_range date_time_range
CSA_time_duration time_duration
CSA_uint32 number_users
CSA_calendar_user *calendar_users
CSA_free_time **free_time
CSA_extension *free_time_search_extensions
DESCRIPTION
The
csa_free_time_search function searches for available free time on one or more
calendars and returns a list of free time intervals found.
Free time is an interval of time that is not currently
scheduled on one or more calendars.
The free time search
is based on a date and time range and the minimum time
duration required of the free time interval.
Only the
owner of the calendar, users with
CSA_FREE_TIME_SEARCH, users with
CSA_VIEW_PUBLIC_ENTRIES, users with
CSA_VIEW_CONFIDENTIAL_ENTRIES, or users with
CSA_VIEW_PRIVATE_ENTRIES can search the calendar for free time.
ARGUMENTS
Session (Session Handle)
Opaque session handle that represents a session with the
calendaring service.
Session handles are created by a logon function call and
invalidated with a logoff function call.
If the session
handle is invalid, then the error
CSA_E_INVALID_SESSION_HANDLE is returned.
Date Time Range (Date Time Range)
Specifies the start and stop date and time range for the
free time search.
If the date_time_range is invalid, then
the error
CSA_E_INVALID_DATE_TIME is returned.
Time Duration (Time Duration)
Specifies the minimum time range for the free time
intervals to be sought.
If the time duration is invalid,
then the error
CSA_E_INVALID_DATE_TIME is returned.
Number Users (Uint32)
The number of elements in the
calendar_users argument.
Calendar Users (Calendar User)
A pointer to an array of calendar users.
This specifies
the calendars to be searched for available free time.
If
the user does not have authority to access any of the
attendee's calendars, then the error
CSA_E_NO_AUTHORITY is returned.
If an invalid attendee is specified, then the
error
CSA_E_INVALID_USER is returned.
It is implementation specific whether the
seach function will proceed in any of these cases.
Free Time Search Extensions (Extension)
A pointer to an array of
CSA_extension structures for this function.
The array may contain both
input extensions for providing additional information to
the function and output extensions for receiving
information from the function.
A value of
NULL indicates that the caller is not using any extensions.
See the extensions structure for more information.
RETURN VALUE
Free Time (Free Time)
A pointer to a free time structure that specifies a set of
free time intervals.
If more free time intervals are found than can be
represented in the available memory, the
CSA_E_INSUFFICIENT_MEMORY error message will be returned.
If no available free time
is found, then a
NULL pointer will be returned.
This structure is allocated by
the service, and should be freed with a single call to
&cdeman.csa.free;.
Free Time Search Extensions (Extension)
If output extensions were passed to the function in the
extensions list, the results from the service will be
available in the extension.
See the extensions structure for more information.
Whether the function succeeded or
not, and, if not, why.
It may be success or one of the
values listed under ERRORS below.
ERRORS
The
csa_free_time_search function returns the following error values:
CSA_E_FAILURE
There was a general failure that does not
fit the description of any other error code.
CSA_E_INSUFFICIENT_MEMORY
Insufficient memory was available to complete the requested operation.
CSA_E_INVALID_DATA_EXT
The data extension requested is invalid.
CSA_E_INVALID_DATE_TIME
An invalid date and time combination was specified.
CSA_E_INVALID_FLAG
A flag value in the
flags argument was invalid.
CSA_E_INVALID_FUNCTION_EXT
The function extension requested is invalid.
CSA_E_INVALID_PARAMETER
A function parameter was invalid.
CSA_E_INVALID_SESSION_HANDLE
The specified Session Handle is invalid or no longer valid
(e.g., after logging off).
CSA_E_INVALID_USER
The specified calendar user is invalid.
CSA_E_NO_AUTHORITY
The user has insufficient authority for this function.
CSA_E_NOT_SUPPORTED
The operation requested is not supported by this implementation.
CSA_E_SERVICE_UNAVAILABLE
The requested calendar service is unavailable.
CSA_E_UNSUPPORTED_DATA_EXT
The data extension requested is not supported.
CSA_E_UNSUPPORTED_FLAG
The flag requested is not supported.
CSA_E_UNSUPPORTED_FUNCTION_EXT
The specified function extension is not supported or
CSA_EXT_REQUIRED is set.
SEE ALSO
&cdeman.csa.csa.h;, &cdeman.csa.add.calendar;, &cdeman.csa.add.entry;, &cdeman.csa.call.callbacks;, &cdeman.csa.delete.calendar;, &cdeman.csa.delete.entry;, &cdeman.csa.free;, &cdeman.csa.list.calendar.attributes;, &cdeman.csa.list.calendars;, &cdeman.csa.list.entries;, &cdeman.csa.list.entry.attributes;, &cdeman.csa.list.entry.sequence;, &cdeman.csa.logoff;, &cdeman.csa.logon;, &cdeman.csa.look.up;, &cdeman.csa.query.configuration;, &cdeman.csa.read.calendar.attributes;, &cdeman.csa.read.entry.attributes;, &cdeman.csa.read.next.reminder;, &cdeman.csa.register.callback;, &cdeman.csa.unregister.callback;, &cdeman.csa.update.calendar.attributes;, &cdeman.csa.update.entry.attributes;.