| Ximian Connector for Microsoft Exchange Programmer’s Reference Manual |
|---|
E2kFreebusyE2kFreebusy — Exchange Free/Busy processing |
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);
This code is not currently used.
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 |
| << E2kAction | E2kRestriction (vaporware) >> |