Asterisk - The Open Source Telephony Project  21.4.1
Data Structures | Functions | Variables
res_calendar_exchange.c File Reference

Resource for handling MS Exchange calendars. More...

#include "asterisk.h"
#include <libical/ical.h>
#include <ne_session.h>
#include <ne_uri.h>
#include <ne_request.h>
#include <ne_auth.h>
#include <ne_redirect.h>
#include <iksemel.h>
#include "asterisk/module.h"
#include "asterisk/channel.h"
#include "asterisk/calendar.h"
#include "asterisk/lock.h"
#include "asterisk/config.h"
#include "asterisk/astobj2.h"
#include "asterisk/uuid.h"

Go to the source code of this file.

Data Structures

struct  exchangecal_pvt
 
struct  xmlstate
 

Functions

static void __reg_module (void)
 
static void __unreg_module (void)
 
struct ast_moduleAST_MODULE_SELF_SYM (void)
 
static int auth_credentials (void *userdata, const char *realm, int attempts, char *username, char *secret)
 
static struct ast_strbs_to_exchange_bs (struct ast_str *dst, enum ast_calendar_busy_state bs)
 
static struct ast_strepoch_to_exchange_time (struct ast_str *dst, time_t epoch)
 
static void exchangecal_destructor (void *obj)
 
static struct ast_strexchangecal_get_events_between (struct exchangecal_pvt *pvt, time_t start_time, time_t end_time)
 
static void * exchangecal_load_calendar (void *data)
 
static struct ast_strexchangecal_request (struct exchangecal_pvt *pvt, const char *method, struct ast_str *req_body, struct ast_str *subdir)
 
static int exchangecal_write_event (struct ast_calendar_event *event)
 
static int fetch_response_reader (void *data, const char *block, size_t len)
 
static struct ast_strgenerate_exchange_uuid (struct ast_str *uid)
 
static int is_valid_uuid (struct ast_str *uid)
 
static int load_module (void)
 
static enum ast_calendar_busy_state msbusy_to_bs (const char *msbusy)
 
static time_t mstime_to_time_t (char *mstime)
 
static int parse_cdata (void *data, char *value, size_t len)
 
static int parse_tag (void *data, char *name, char **atts, int type)
 
static int unload_module (void)
 
static void * unref_exchangecal (void *obj)
 
static int update_exchangecal (struct exchangecal_pvt *pvt)
 
static struct ast_strxml_encode_str (struct ast_str *dst, const char *src)
 

Variables

static struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "Asterisk MS Exchange Calendar Integration" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = "da6642af068ee5e6490c5b1d2cc1d238" , .support_level = AST_MODULE_SUPPORT_EXTENDED, .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_DEVSTATE_PLUGIN, .requires = "res_calendar", }
 
static const struct ast_module_infoast_module_info = &__mod_info
 
static struct ast_calendar_tech exchangecal_tech
 

Detailed Description

Resource for handling MS Exchange calendars.

Definition in file res_calendar_exchange.c.