19 #ifndef _ASTERISK_CALENDAR_H
20 #define _ASTERISK_CALENDAR_H
73 const char *description;
77 void *(* load_calendar)(
void *data);
78 void *(* unref_calendar)(
void *obj);
83 enum ast_calendar_busy_state {
84 AST_CALENDAR_BS_FREE = 0,
85 AST_CALENDAR_BS_BUSY_TENTATIVE,
109 enum ast_calendar_busy_state busy_state;
138 unsigned int unloading:1;
139 unsigned int pending_deletion:1;
int fetch_again_at_reload
Main Channel structure associated with a channel.
Asterisk locking-related definitions:
int ast_calendar_register(struct ast_calendar_tech *tech)
Register a new calendar technology.
Asterisk main include file. File version handling, generic pbx functions.
Main dialing structure. Contains global options, channels being dialed, and more! ...
struct ast_variable * vars
Structure for variables, used for configurations and for channel variables.
#define AST_DECLARE_STRING_FIELDS(field_list)
Declare the fields needed in a structure.
void ast_calendar_clear_events(struct ast_calendar *cal)
Remove all events from calendar.
void ast_calendar_merge_events(struct ast_calendar *cal, struct ao2_container *new_events)
Add an event to the list of events for a calendar.
Configuration File Parser.
struct ao2_container * ast_calendar_event_container_alloc(void)
Allocate an astobj2 container for ast_calendar_event objects.
#define AST_STRING_FIELD(name)
Declare a string field.
A set of macros to manage forward-linked lists.
struct ao2_container * events
#define AST_LIST_HEAD_NOLOCK(name, type)
Defines a structure to be used to hold a list of specified type (with no lock).
struct ast_calendar_event * ast_calendar_event_alloc(struct ast_calendar *cal)
Allocate an astobj2 ast_calendar_event object.
#define AST_LIST_ENTRY(type)
Declare a forward link structure inside a list entry.
struct ast_calendar * owner
const struct ast_config * ast_calendar_config_acquire(void)
Grab and lock pointer to the calendar config (read only)
struct ast_calendar_event * ast_calendar_unref_event(struct ast_calendar_event *event)
Unreference an ast_calendar_event.
structure to hold users read from users.conf
int(* is_busy)(struct ast_calendar *calendar)
void ast_calendar_unregister(struct ast_calendar_tech *tech)
Unregister a new calendar technology.
Individual calendaring technology data.
Asterisk calendar structure.
void ast_calendar_config_release(void)
Release the calendar config.
int(* write_event)(struct ast_calendar_event *event)
Asterisk module definitions.