| Ximian Connector for Microsoft Exchange Programmer’s Reference Manual | ||||
|---|---|---|---|---|
E2kFreebusy;
enum E2kBusyStatus;
E2kFreebusyEvent;
E2kFreebusy* e2k_freebusy_new (E2kContext *ctx,
const char *public_uri,
const char *dn);
void e2k_freebusy_reset (E2kFreebusy *fb,
int nmonths);
void e2k_freebusy_add_interval (E2kFreebusy *fb,
E2kBusyStatus busystatus,
time_t start,
time_t end);
void e2k_freebusy_clear_interval (E2kFreebusy *fb,
time_t start,
time_t end);
E2kHTTPStatus e2k_freebusy_add_from_calendar_uri
(E2kFreebusy *fb,
const char *uri,
time_t start_tt,
time_t end_tt);
E2kHTTPStatus e2k_freebusy_save (E2kFreebusy *fb);
void e2k_freebusy_destroy (E2kFreebusy *fb);
typedef enum {
E2K_BUSYSTATUS_FREE = 0,
E2K_BUSYSTATUS_TENTATIVE = 1,
E2K_BUSYSTATUS_BUSY = 2,
E2K_BUSYSTATUS_OOF = 3,
E2K_BUSYSTATUS_MAX,
/* Alias for internal use */
E2K_BUSYSTATUS_ALL = E2K_BUSYSTATUS_FREE
} E2kBusyStatus;
These represent the possible states of a free/busy interval:
E2K_BUSYSTATUS_FREE |
The user is free during this interval. |
E2K_BUSYSTATUS_TENTATIVE |
The user is tentatively busy during this interval. |
E2K_BUSYSTATUS_BUSY |
The user is busy during this interval. |
E2K_BUSYSTATUS_OOF |
The user is out of the office during this interval. |
E2K_BUSYSTATUS_MAX |
|
E2K_BUSYSTATUS_ALL |
typedef struct {
} E2kFreebusyEvent;
Represents a single interval of time in the user's free/busy data.
E2kFreebusy* e2k_freebusy_new (E2kContext *ctx, const char *public_uri, const char *dn);
Creates a new E2kFreebusy, filled in with information from the
indicated user's published free/busy information. This uses the
public free/busy folder; the caller does not need permission to
access the dn's Calendar.
Note that currently, this will fail and return NULL if the user
does not already have free/busy information stored on the server.
ctx : |
an E2kContext |
public_uri : |
the URI of the MAPI public folder tree |
dn : |
the legacy Exchange DN of a user |
| Returns : | the freebusy information |
void e2k_freebusy_reset (E2kFreebusy *fb, int nmonths);
Clears all existing data in fb and resets the start and end times
to a span of nmonths around the current date.
fb : |
an E2kFreebusy |
nmonths : |
the number of months of info fb will store
|
void e2k_freebusy_add_interval (E2kFreebusy *fb, E2kBusyStatus busystatus, time_t start, time_t end);
This adds an interval of type busystatus to fb.
fb : |
an E2kFreebusy |
busystatus : |
the busy status of the interval |
start : |
the start of the interval |
end : |
the end of the interval |
void e2k_freebusy_clear_interval (E2kFreebusy *fb, time_t start, time_t end);
This removes any events between start and end in fb.
fb : |
an E2kFreebusy |
start : |
the start of the interval |
end : |
the end of the interval |
E2kHTTPStatus e2k_freebusy_add_from_calendar_uri (E2kFreebusy *fb, const char *uri, time_t start_tt, time_t end_tt);
This queries the server for events between start_tt and end_tt in
the calendar at uri (which the caller must have permission to
read) and adds them fb. Any previously-existing events during that
range are removed.
fb : |
an E2kFreebusy |
uri : |
the URI of a calendar folder |
start_tt : |
start of the range to add |
end_tt : |
end of the range to add |
| Returns : | an HTTP status code. |
E2kHTTPStatus e2k_freebusy_save (E2kFreebusy *fb);
Saves the data in fb back to the server.
fb : |
an E2kFreebusy |
| Returns : | a libsoup or HTTP status code |
void e2k_freebusy_destroy (E2kFreebusy *fb);
Frees fb and all associated data.
fb : |
the E2kFreebusy |