[asterisk-commits] twilson: branch twilson/calendaring r151870 - in /team/twilson/calendaring: i...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Fri Oct 24 03:17:20 CDT 2008
Author: twilson
Date: Fri Oct 24 03:17:19 2008
New Revision: 151870
URL: http://svn.digium.com/view/asterisk?view=rev&rev=151870
Log:
Add CALENDAR_QUERY() and CALENDAR_QUERY_RESULT() functions
Modified:
team/twilson/calendaring/include/asterisk/autoconfig.h.in
team/twilson/calendaring/main/calendar.c
Modified: team/twilson/calendaring/include/asterisk/autoconfig.h.in
URL: http://svn.digium.com/view/asterisk/team/twilson/calendaring/include/asterisk/autoconfig.h.in?view=diff&rev=151870&r1=151869&r2=151870
==============================================================================
--- team/twilson/calendaring/include/asterisk/autoconfig.h.in (original)
+++ team/twilson/calendaring/include/asterisk/autoconfig.h.in Fri Oct 24 03:17:19 2008
@@ -18,6 +18,18 @@
/* Define to 1 if using `alloca.c'. */
#undef C_ALLOCA
+/* Define this to indicate the ${ACOS_DESCRIP} library */
+#undef HAVE_ACOS
+
+/* Define this to indicate the ${ACOSL_DESCRIP} library */
+#undef HAVE_ACOSL
+
+/* Define to indicate the ${ACOSL_DESCRIP} library version */
+#undef HAVE_ACOSL_VERSION
+
+/* Define to indicate the ${ACOS_DESCRIP} library version */
+#undef HAVE_ACOS_VERSION
+
/* Define to 1 if you have `alloca', as a function or macro. */
#undef HAVE_ALLOCA
@@ -25,26 +37,148 @@
*/
#undef HAVE_ALLOCA_H
+/* Define this to indicate the ${ALSA_DESCRIP} library */
+#undef HAVE_ALSA
+
+/* Define to indicate the ${ALSA_DESCRIP} library version */
+#undef HAVE_ALSA_VERSION
+
/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H
/* Define to 1 if you have the <arpa/nameser.h> header file. */
#undef HAVE_ARPA_NAMESER_H
+/* Define this to indicate the ${ASIN_DESCRIP} library */
+#undef HAVE_ASIN
+
+/* Define this to indicate the ${ASINL_DESCRIP} library */
+#undef HAVE_ASINL
+
+/* Define to indicate the ${ASINL_DESCRIP} library version */
+#undef HAVE_ASINL_VERSION
+
+/* Define to indicate the ${ASIN_DESCRIP} library version */
+#undef HAVE_ASIN_VERSION
+
/* Define to 1 if you have the `asprintf' function. */
#undef HAVE_ASPRINTF
+/* Define this to indicate the ${ATAN_DESCRIP} library */
+#undef HAVE_ATAN
+
+/* Define this to indicate the ${ATAN2_DESCRIP} library */
+#undef HAVE_ATAN2
+
+/* Define this to indicate the ${ATAN2L_DESCRIP} library */
+#undef HAVE_ATAN2L
+
+/* Define to indicate the ${ATAN2L_DESCRIP} library version */
+#undef HAVE_ATAN2L_VERSION
+
+/* Define to indicate the ${ATAN2_DESCRIP} library version */
+#undef HAVE_ATAN2_VERSION
+
+/* Define this to indicate the ${ATANL_DESCRIP} library */
+#undef HAVE_ATANL
+
+/* Define to indicate the ${ATANL_DESCRIP} library version */
+#undef HAVE_ATANL_VERSION
+
+/* Define to indicate the ${ATAN_DESCRIP} library version */
+#undef HAVE_ATAN_VERSION
+
/* Define to 1 if you have the `atexit' function. */
#undef HAVE_ATEXIT
+/* Define to 1 if your GCC C compiler supports the 'always_inline' attribute.
+ */
+#undef HAVE_ATTRIBUTE_always_inline
+
+/* Define to 1 if your GCC C compiler supports the 'const' attribute. */
+#undef HAVE_ATTRIBUTE_const
+
+/* Define to 1 if your GCC C compiler supports the 'deprecated' attribute. */
+#undef HAVE_ATTRIBUTE_deprecated
+
+/* Define to 1 if your GCC C compiler supports the 'malloc' attribute. */
+#undef HAVE_ATTRIBUTE_malloc
+
+/* Define to 1 if your GCC C compiler supports the 'pure' attribute. */
+#undef HAVE_ATTRIBUTE_pure
+
+/* Define to 1 if your GCC C compiler supports the 'sentinel' attribute. */
+#undef HAVE_ATTRIBUTE_sentinel
+
+/* Define to 1 if your GCC C compiler supports the 'unused' attribute. */
+#undef HAVE_ATTRIBUTE_unused
+
+/* Define to 1 if your GCC C compiler supports the 'warn_unused_result'
+ attribute. */
+#undef HAVE_ATTRIBUTE_warn_unused_result
+
+/* Define this to indicate the ${BKTR_DESCRIP} library */
+#undef HAVE_BKTR
+
+/* Define to indicate the ${BKTR_DESCRIP} library version */
+#undef HAVE_BKTR_VERSION
+
/* Define to 1 if byteswap.h macros are available. */
#undef HAVE_BYTESWAP_H
+/* Define this to indicate the ${CAP_DESCRIP} library */
+#undef HAVE_CAP
+
+/* Define to indicate the ${CAP_DESCRIP} library version */
+#undef HAVE_CAP_VERSION
+
+/* Define this to indicate the ${CEIL_DESCRIP} library */
+#undef HAVE_CEIL
+
+/* Define this to indicate the ${CEILL_DESCRIP} library */
+#undef HAVE_CEILL
+
+/* Define to indicate the ${CEILL_DESCRIP} library version */
+#undef HAVE_CEILL_VERSION
+
+/* Define to indicate the ${CEIL_DESCRIP} library version */
+#undef HAVE_CEIL_VERSION
+
/* Define to 1 if your system has a working `chown' function. */
#undef HAVE_CHOWN
+/* Define this to indicate the ${COS_DESCRIP} library */
+#undef HAVE_COS
+
+/* Define this to indicate the ${COSL_DESCRIP} library */
+#undef HAVE_COSL
+
+/* Define to indicate the ${COSL_DESCRIP} library version */
+#undef HAVE_COSL_VERSION
+
+/* Define to indicate the ${COS_DESCRIP} library version */
+#undef HAVE_COS_VERSION
+
+/* Define this to indicate the ${CRYPTO_DESCRIP} library */
+#undef HAVE_CRYPTO
+
+/* Define to indicate the ${CRYPTO_DESCRIP} library version */
+#undef HAVE_CRYPTO_VERSION
+
/* Define if your system has the curl libraries. */
#undef HAVE_CURL
+
+/* Define this to indicate the ${CURSES_DESCRIP} library */
+#undef HAVE_CURSES
+
+/* Define to indicate the ${CURSES_DESCRIP} library version */
+#undef HAVE_CURSES_VERSION
+
+/* Define if your system has the DAHDI headers. */
+#undef HAVE_DAHDI
+
+/* Define DAHDI headers version */
+#undef HAVE_DAHDI_VERSION
/* Define to 1 if your system has /dev/urandom. */
#undef HAVE_DEV_URANDOM
@@ -62,12 +196,87 @@
/* Define to 1 if you have the `endpwent' function. */
#undef HAVE_ENDPWENT
+/* Define this to indicate the ${EXP_DESCRIP} library */
+#undef HAVE_EXP
+
+/* Define this to indicate the ${EXP10_DESCRIP} library */
+#undef HAVE_EXP10
+
+/* Define this to indicate the ${EXP10L_DESCRIP} library */
+#undef HAVE_EXP10L
+
+/* Define to indicate the ${EXP10L_DESCRIP} library version */
+#undef HAVE_EXP10L_VERSION
+
+/* Define to indicate the ${EXP10_DESCRIP} library version */
+#undef HAVE_EXP10_VERSION
+
+/* Define this to indicate the ${EXP2_DESCRIP} library */
+#undef HAVE_EXP2
+
+/* Define this to indicate the ${EXP2L_DESCRIP} library */
+#undef HAVE_EXP2L
+
+/* Define to indicate the ${EXP2L_DESCRIP} library version */
+#undef HAVE_EXP2L_VERSION
+
+/* Define to indicate the ${EXP2_DESCRIP} library version */
+#undef HAVE_EXP2_VERSION
+
+/* Define this to indicate the ${EXPL_DESCRIP} library */
+#undef HAVE_EXPL
+
+/* Define to indicate the ${EXPL_DESCRIP} library version */
+#undef HAVE_EXPL_VERSION
+
+/* Define to indicate the ${EXP_DESCRIP} library version */
+#undef HAVE_EXP_VERSION
+
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
+/* Define this to indicate the ${FFMPEG_DESCRIP} library */
+#undef HAVE_FFMPEG
+
+/* Define to indicate the ${FFMPEG_DESCRIP} library version */
+#undef HAVE_FFMPEG_VERSION
+
+/* Define this to indicate the ${FLOOR_DESCRIP} library */
+#undef HAVE_FLOOR
+
+/* Define this to indicate the ${FLOORL_DESCRIP} library */
+#undef HAVE_FLOORL
+
+/* Define to indicate the ${FLOORL_DESCRIP} library version */
+#undef HAVE_FLOORL_VERSION
+
+/* Define to indicate the ${FLOOR_DESCRIP} library version */
+#undef HAVE_FLOOR_VERSION
+
+/* Define this to indicate the ${FMOD_DESCRIP} library */
+#undef HAVE_FMOD
+
+/* Define this to indicate the ${FMODL_DESCRIP} library */
+#undef HAVE_FMODL
+
+/* Define to indicate the ${FMODL_DESCRIP} library version */
+#undef HAVE_FMODL_VERSION
+
+/* Define to indicate the ${FMOD_DESCRIP} library version */
+#undef HAVE_FMOD_VERSION
+
/* Define to 1 if you have the `fopencookie' function. */
#undef HAVE_FOPENCOOKIE
+/* Define to 1 if you have the `fork' function. */
+#undef HAVE_FORK
+
+/* Define this to indicate the ${FREETDS_DESCRIP} library */
+#undef HAVE_FREETDS
+
+/* Define to indicate the ${FREETDS_DESCRIP} library version */
+#undef HAVE_FREETDS_VERSION
+
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#undef HAVE_FSEEKO
@@ -95,6 +304,12 @@
/* Define to 1 if you have the `gethostname' function. */
#undef HAVE_GETHOSTNAME
+/* Define if your system has the GETIFADDRS headers. */
+#undef HAVE_GETIFADDRS
+
+/* Define GETIFADDRS headers version */
+#undef HAVE_GETIFADDRS_VERSION
+
/* Define to 1 if you have the `getloadavg' function. */
#undef HAVE_GETLOADAVG
@@ -107,6 +322,9 @@
/* Define to 1 if you have the `glob' function. */
#undef HAVE_GLOB
+/* Define if your system has the GMIME libraries. */
+#undef HAVE_GMIME
+
/* Define to indicate the GSM library */
#undef HAVE_GSM
@@ -116,8 +334,35 @@
/* Define to indicate that gsm.h has no prefix for its location */
#undef HAVE_GSM_HEADER
+/* Define if your system has the GTK libraries. */
+#undef HAVE_GTK
+
/* Define if your system has the GTK2 libraries. */
#undef HAVE_GTK2
+
+/* Define this to indicate the ${HOARD_DESCRIP} library */
+#undef HAVE_HOARD
+
+/* Define to indicate the ${HOARD_DESCRIP} library version */
+#undef HAVE_HOARD_VERSION
+
+/* Define this to indicate the ${ICAL_DESCRIP} library */
+#undef HAVE_ICAL
+
+/* Define to indicate the ${ICAL_DESCRIP} library version */
+#undef HAVE_ICAL_VERSION
+
+/* Define this to indicate the ${ICONV_DESCRIP} library */
+#undef HAVE_ICONV
+
+/* Define to indicate the ${ICONV_DESCRIP} library version */
+#undef HAVE_ICONV_VERSION
+
+/* Define this to indicate the ${IKSEMEL_DESCRIP} library */
+#undef HAVE_IKSEMEL
+
+/* Define to indicate the ${IKSEMEL_DESCRIP} library version */
+#undef HAVE_IKSEMEL_VERSION
/* Define if your system has the UW IMAP Toolkit c-client library. */
#undef HAVE_IMAP_TK
@@ -135,9 +380,39 @@
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
+/* Define this to indicate the ${IODBC_DESCRIP} library */
+#undef HAVE_IODBC
+
+/* Define to indicate the ${IODBC_DESCRIP} library version */
+#undef HAVE_IODBC_VERSION
+
+/* Define if your system has the IP_MTU_DISCOVER headers. */
+#undef HAVE_IP_MTU_DISCOVER
+
+/* Define IP_MTU_DISCOVER headers version */
+#undef HAVE_IP_MTU_DISCOVER_VERSION
+
/* Define to 1 if you have the `isascii' function. */
#undef HAVE_ISASCII
+/* Define this to indicate the ${ISDNNET_DESCRIP} library */
+#undef HAVE_ISDNNET
+
+/* Define to indicate the ${ISDNNET_DESCRIP} library version */
+#undef HAVE_ISDNNET_VERSION
+
+/* Define this to indicate the ${JACK_DESCRIP} library */
+#undef HAVE_JACK
+
+/* Define to indicate the ${JACK_DESCRIP} library version */
+#undef HAVE_JACK_VERSION
+
+/* Define this to indicate the ${LDAP_DESCRIP} library */
+#undef HAVE_LDAP
+
+/* Define to indicate the ${LDAP_DESCRIP} library version */
+#undef HAVE_LDAP_VERSION
+
/* Define to 1 if you have the <libintl.h> header file. */
#undef HAVE_LIBINTL_H
@@ -153,6 +428,54 @@
/* Define to 1 if you have the `localtime_r' function. */
#undef HAVE_LOCALTIME_R
+/* Define this to indicate the ${LOG_DESCRIP} library */
+#undef HAVE_LOG
+
+/* Define this to indicate the ${LOG10_DESCRIP} library */
+#undef HAVE_LOG10
+
+/* Define this to indicate the ${LOG10L_DESCRIP} library */
+#undef HAVE_LOG10L
+
+/* Define to indicate the ${LOG10L_DESCRIP} library version */
+#undef HAVE_LOG10L_VERSION
+
+/* Define to indicate the ${LOG10_DESCRIP} library version */
+#undef HAVE_LOG10_VERSION
+
+/* Define this to indicate the ${LOG2_DESCRIP} library */
+#undef HAVE_LOG2
+
+/* Define this to indicate the ${LOG2L_DESCRIP} library */
+#undef HAVE_LOG2L
+
+/* Define to indicate the ${LOG2L_DESCRIP} library version */
+#undef HAVE_LOG2L_VERSION
+
+/* Define to indicate the ${LOG2_DESCRIP} library version */
+#undef HAVE_LOG2_VERSION
+
+/* Define this to indicate the ${LOGL_DESCRIP} library */
+#undef HAVE_LOGL
+
+/* Define to indicate the ${LOGL_DESCRIP} library version */
+#undef HAVE_LOGL_VERSION
+
+/* Define to indicate the ${LOG_DESCRIP} library version */
+#undef HAVE_LOG_VERSION
+
+/* Define this to indicate the ${LTDL_DESCRIP} library */
+#undef HAVE_LTDL
+
+/* Define to indicate the ${LTDL_DESCRIP} library version */
+#undef HAVE_LTDL_VERSION
+
+/* Define this to indicate the ${LUA_DESCRIP} library */
+#undef HAVE_LUA
+
+/* Define to indicate the ${LUA_DESCRIP} library version */
+#undef HAVE_LUA_VERSION
+
/* Define to 1 if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H
@@ -168,6 +491,24 @@
/* Define to 1 if you have the `memset' function. */
#undef HAVE_MEMSET
+/* Define this to indicate the ${MISDN_DESCRIP} library */
+#undef HAVE_MISDN
+
+/* Define if your system has the MISDN_FAC_ERROR headers. */
+#undef HAVE_MISDN_FAC_ERROR
+
+/* Define MISDN_FAC_ERROR headers version */
+#undef HAVE_MISDN_FAC_ERROR_VERSION
+
+/* Define if your system has the MISDN_FAC_RESULT headers. */
+#undef HAVE_MISDN_FAC_RESULT
+
+/* Define MISDN_FAC_RESULT headers version */
+#undef HAVE_MISDN_FAC_RESULT_VERSION
+
+/* Define to indicate the ${MISDN_DESCRIP} library version */
+#undef HAVE_MISDN_VERSION
+
/* Define to 1 if you have the `mkdir' function. */
#undef HAVE_MKDIR
@@ -177,15 +518,72 @@
/* Define to 1 if you have the `munmap' function. */
#undef HAVE_MUNMAP
+/* Define this to indicate the ${NBS_DESCRIP} library */
+#undef HAVE_NBS
+
+/* Define to indicate the ${NBS_DESCRIP} library version */
+#undef HAVE_NBS_VERSION
+
+/* Define this to indicate the ${NCURSES_DESCRIP} library */
+#undef HAVE_NCURSES
+
+/* Define to indicate the ${NCURSES_DESCRIP} library version */
+#undef HAVE_NCURSES_VERSION
+
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
+/* Define if your system has the NEON libraries. */
+#undef HAVE_NEON
+
/* Define to 1 if you have the <netdb.h> header file. */
#undef HAVE_NETDB_H
/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H
+/* Define if your system has the NETSNMP libraries. */
+#undef HAVE_NETSNMP
+
+/* Define this to indicate the ${NEWT_DESCRIP} library */
+#undef HAVE_NEWT
+
+/* Define to indicate the ${NEWT_DESCRIP} library version */
+#undef HAVE_NEWT_VERSION
+
+/* Define this to indicate the ${OGG_DESCRIP} library */
+#undef HAVE_OGG
+
+/* Define to indicate the ${OGG_DESCRIP} library version */
+#undef HAVE_OGG_VERSION
+
+/* Define this to indicate the ${OPENAIS_DESCRIP} library */
+#undef HAVE_OPENAIS
+
+/* Define to indicate the ${OPENAIS_DESCRIP} library version */
+#undef HAVE_OPENAIS_VERSION
+
+/* Define if your system has the OpenH323 libraries. */
+#undef HAVE_OPENH323
+
+/* Define this to indicate the ${OPENSSL_DESCRIP} library */
+#undef HAVE_OPENSSL
+
+/* Define to indicate the ${OPENSSL_DESCRIP} library version */
+#undef HAVE_OPENSSL_VERSION
+
+/* Define this to indicate the ${OSPTK_DESCRIP} library */
+#undef HAVE_OSPTK
+
+/* Define to indicate the ${OSPTK_DESCRIP} library version */
+#undef HAVE_OSPTK_VERSION
+
+/* Define this to indicate the ${OSS_DESCRIP} library */
+#undef HAVE_OSS
+
+/* Define to indicate the ${OSS_DESCRIP} library version */
+#undef HAVE_OSS_VERSION
+
/* Define to 1 if OSX atomic operations are supported. */
#undef HAVE_OSX_ATOMICS
@@ -194,11 +592,63 @@
/* Define to 1 if your system defines IP_PKTINFO. */
#undef HAVE_PKTINFO
+
+/* Define this to indicate the ${POPT_DESCRIP} library */
+#undef HAVE_POPT
+
+/* Define to indicate the ${POPT_DESCRIP} library version */
+#undef HAVE_POPT_VERSION
+
+/* Define this to indicate the ${PORTAUDIO_DESCRIP} library */
+#undef HAVE_PORTAUDIO
+
+/* Define to indicate the ${PORTAUDIO_DESCRIP} library version */
+#undef HAVE_PORTAUDIO_VERSION
+
+/* Define this to indicate the ${POW_DESCRIP} library */
+#undef HAVE_POW
+
+/* Define this to indicate the ${POWL_DESCRIP} library */
+#undef HAVE_POWL
+
+/* Define to indicate the ${POWL_DESCRIP} library version */
+#undef HAVE_POWL_VERSION
+
+/* Define to indicate the ${POW_DESCRIP} library version */
+#undef HAVE_POW_VERSION
+
+/* Define this to indicate the ${PRI_DESCRIP} library */
+#undef HAVE_PRI
+
+/* Define this to indicate the ${PRI_INBANDDISCONNECT_DESCRIP} library */
+#undef HAVE_PRI_INBANDDISCONNECT
+
+/* Define to indicate the ${PRI_INBANDDISCONNECT_DESCRIP} library version */
+#undef HAVE_PRI_INBANDDISCONNECT_VERSION
+
+/* Define to indicate the ${PRI_DESCRIP} library version */
+#undef HAVE_PRI_VERSION
+
+/* Define if you have POSIX threads libraries and header files. */
+#undef HAVE_PTHREAD
/* Define to 1 if your system defines PTHREAD_MUTEX_RECURSIVE_NP in pthread.h
*/
#undef HAVE_PTHREAD_MUTEX_RECURSIVE_NP
+/* Define if your system has the PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+ headers. */
+#undef HAVE_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+
+/* Define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP headers version */
+#undef HAVE_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP_VERSION
+
+/* Define if your system has the PTHREAD_RWLOCK_INITIALIZER headers. */
+#undef HAVE_PTHREAD_RWLOCK_INITIALIZER
+
+/* Define PTHREAD_RWLOCK_INITIALIZER headers version */
+#undef HAVE_PTHREAD_RWLOCK_INITIALIZER_VERSION
+
/* Define to 1 if your system defines PTHREAD_RWLOCK_PREFER_WRITER_NP in
pthread.h */
#undef HAVE_PTHREAD_RWLOCK_PREFER_WRITER_NP
@@ -209,9 +659,36 @@
/* Define to 1 if you have the `putenv' function. */
#undef HAVE_PUTENV
+/* Define if your system has the PWLib libraries. */
+#undef HAVE_PWLIB
+
+/* Define this to indicate the ${RADIUS_DESCRIP} library */
+#undef HAVE_RADIUS
+
+/* Define to indicate the ${RADIUS_DESCRIP} library version */
+#undef HAVE_RADIUS_VERSION
+
/* Define to 1 if you have the `regcomp' function. */
#undef HAVE_REGCOMP
+/* Define this to indicate the ${REMAINDER_DESCRIP} library */
+#undef HAVE_REMAINDER
+
+/* Define this to indicate the ${REMAINDERL_DESCRIP} library */
+#undef HAVE_REMAINDERL
+
+/* Define to indicate the ${REMAINDERL_DESCRIP} library version */
+#undef HAVE_REMAINDERL_VERSION
+
+/* Define to indicate the ${REMAINDER_DESCRIP} library version */
+#undef HAVE_REMAINDER_VERSION
+
+/* Define this to indicate the ${RESAMPLE_DESCRIP} library */
+#undef HAVE_RESAMPLE
+
+/* Define to indicate the ${RESAMPLE_DESCRIP} library version */
+#undef HAVE_RESAMPLE_VERSION
+
/* Define to 1 if your system has the ndestroy resolver function. */
#undef HAVE_RES_NDESTROY
@@ -221,20 +698,125 @@
/* Define to 1 if you have the `re_comp' function. */
#undef HAVE_RE_COMP
+/* Define this to indicate the ${RINT_DESCRIP} library */
+#undef HAVE_RINT
+
+/* Define this to indicate the ${RINTL_DESCRIP} library */
+#undef HAVE_RINTL
+
+/* Define to indicate the ${RINTL_DESCRIP} library version */
+#undef HAVE_RINTL_VERSION
+
+/* Define to indicate the ${RINT_DESCRIP} library version */
+#undef HAVE_RINT_VERSION
+
+/* Define this to indicate the ${ROUND_DESCRIP} library */
+#undef HAVE_ROUND
+
+/* Define this to indicate the ${ROUNDL_DESCRIP} library */
+#undef HAVE_ROUNDL
+
+/* Define to indicate the ${ROUNDL_DESCRIP} library version */
+#undef HAVE_ROUNDL_VERSION
+
+/* Define to indicate the ${ROUND_DESCRIP} library version */
+#undef HAVE_ROUND_VERSION
+
+/* Define if your system has the RTLD_NOLOAD headers. */
+#undef HAVE_RTLD_NOLOAD
+
+/* Define RTLD_NOLOAD headers version */
+#undef HAVE_RTLD_NOLOAD_VERSION
+
/* Define to 1 if your system has /sbin/launchd. */
#undef HAVE_SBIN_LAUNCHD
+/* Define if your system has the SDL libraries. */
+#undef HAVE_SDL
+
+/* Define this to indicate the ${SDL_IMAGE_DESCRIP} library */
+#undef HAVE_SDL_IMAGE
+
+/* Define to indicate the ${SDL_IMAGE_DESCRIP} library version */
+#undef HAVE_SDL_IMAGE_VERSION
+
/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT
/* Define to 1 if you have the `setenv' function. */
#undef HAVE_SETENV
+/* Define this to indicate the ${SIN_DESCRIP} library */
+#undef HAVE_SIN
+
+/* Define this to indicate the ${SINL_DESCRIP} library */
+#undef HAVE_SINL
+
+/* Define to indicate the ${SINL_DESCRIP} library version */
+#undef HAVE_SINL_VERSION
+
+/* Define to indicate the ${SIN_DESCRIP} library version */
+#undef HAVE_SIN_VERSION
+
/* Define to 1 if you have the `socket' function. */
#undef HAVE_SOCKET
/* Define to 1 if your system has soxmix application. */
#undef HAVE_SOXMIX
+
+/* Define this to indicate the ${SPANDSP_DESCRIP} library */
+#undef HAVE_SPANDSP
+
+/* Define to indicate the ${SPANDSP_DESCRIP} library version */
+#undef HAVE_SPANDSP_VERSION
+
+/* Define this to indicate the ${SPEEX_DESCRIP} library */
+#undef HAVE_SPEEX
+
+/* Define this to indicate the ${SPEEXDSP_DESCRIP} library */
+#undef HAVE_SPEEXDSP
+
+/* Define to indicate the ${SPEEXDSP_DESCRIP} library version */
+#undef HAVE_SPEEXDSP_VERSION
+
+/* Define this to indicate the ${SPEEX_PREPROCESS_DESCRIP} library */
+#undef HAVE_SPEEX_PREPROCESS
+
+/* Define to indicate the ${SPEEX_PREPROCESS_DESCRIP} library version */
+#undef HAVE_SPEEX_PREPROCESS_VERSION
+
+/* Define to indicate the ${SPEEX_DESCRIP} library version */
+#undef HAVE_SPEEX_VERSION
+
+/* Define this to indicate the ${SQLITE_DESCRIP} library */
+#undef HAVE_SQLITE
+
+/* Define this to indicate the ${SQLITE3_DESCRIP} library */
+#undef HAVE_SQLITE3
+
+/* Define to indicate the ${SQLITE3_DESCRIP} library version */
+#undef HAVE_SQLITE3_VERSION
+
+/* Define to indicate the ${SQLITE_DESCRIP} library version */
+#undef HAVE_SQLITE_VERSION
+
+/* Define this to indicate the ${SQRT_DESCRIP} library */
+#undef HAVE_SQRT
+
+/* Define this to indicate the ${SQRTL_DESCRIP} library */
+#undef HAVE_SQRTL
+
+/* Define to indicate the ${SQRTL_DESCRIP} library version */
+#undef HAVE_SQRTL_VERSION
+
+/* Define to indicate the ${SQRT_DESCRIP} library version */
+#undef HAVE_SQRT_VERSION
+
+/* Define this to indicate the ${SS7_DESCRIP} library */
+#undef HAVE_SS7
+
+/* Define to indicate the ${SS7_DESCRIP} library version */
+#undef HAVE_SS7_VERSION
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
@@ -310,14 +892,32 @@
/* Define to 1 if you have the `strstr' function. */
#undef HAVE_STRSTR
+/* Define this to indicate the ${STRTOD_DESCRIP} library */
+#undef HAVE_STRTOD
+
+/* Define to indicate the ${STRTOD_DESCRIP} library version */
+#undef HAVE_STRTOD_VERSION
+
/* Define to 1 if you have the `strtol' function. */
#undef HAVE_STRTOL
+/* Define this to indicate the ${STRTOLD_DESCRIP} library */
+#undef HAVE_STRTOLD
+
+/* Define to indicate the ${STRTOLD_DESCRIP} library version */
+#undef HAVE_STRTOLD_VERSION
+
/* Define to 1 if you have the `strtoq' function. */
#undef HAVE_STRTOQ
/* Define to 1 if `st_blksize' is member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BLKSIZE
+
+/* Define this to indicate the ${SUPPSERV_DESCRIP} library */
+#undef HAVE_SUPPSERV
+
+/* Define to indicate the ${SUPPSERV_DESCRIP} library version */
+#undef HAVE_SUPPSERV_VERSION
/* Define to 1 if your system has sysinfo support */
#undef HAVE_SYSINFO
@@ -370,18 +970,72 @@
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#undef HAVE_SYS_WAIT_H
+/* Define this to indicate the ${TAN_DESCRIP} library */
+#undef HAVE_TAN
+
+/* Define this to indicate the ${TANL_DESCRIP} library */
+#undef HAVE_TANL
+
+/* Define to indicate the ${TANL_DESCRIP} library version */
+#undef HAVE_TANL_VERSION
+
+/* Define to indicate the ${TAN_DESCRIP} library version */
+#undef HAVE_TAN_VERSION
+
+/* Define this to indicate the ${TERMCAP_DESCRIP} library */
+#undef HAVE_TERMCAP
+
+/* Define to indicate the ${TERMCAP_DESCRIP} library version */
+#undef HAVE_TERMCAP_VERSION
+
/* Define to 1 if you have the <termios.h> header file. */
#undef HAVE_TERMIOS_H
/* Define to 1 if your system defines timersub. */
#undef HAVE_TIMERSUB
+/* Define this to indicate the ${TINFO_DESCRIP} library */
+#undef HAVE_TINFO
+
+/* Define to indicate the ${TINFO_DESCRIP} library version */
+#undef HAVE_TINFO_VERSION
+
+/* Define this to indicate the ${TONEZONE_DESCRIP} library */
+#undef HAVE_TONEZONE
+
+/* Define to indicate the ${TONEZONE_DESCRIP} library version */
+#undef HAVE_TONEZONE_VERSION
+
+/* Define this to indicate the ${TRUNC_DESCRIP} library */
+#undef HAVE_TRUNC
+
+/* Define this to indicate the ${TRUNCL_DESCRIP} library */
+#undef HAVE_TRUNCL
+
+/* Define to indicate the ${TRUNCL_DESCRIP} library version */
+#undef HAVE_TRUNCL_VERSION
+
+/* Define to indicate the ${TRUNC_DESCRIP} library version */
+#undef HAVE_TRUNC_VERSION
+
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+/* Define this to indicate the ${UNIXODBC_DESCRIP} library */
+#undef HAVE_UNIXODBC
+
+/* Define to indicate the ${UNIXODBC_DESCRIP} library version */
+#undef HAVE_UNIXODBC_VERSION
+
/* Define to 1 if you have the `unsetenv' function. */
#undef HAVE_UNSETENV
+/* Define this to indicate the ${USB_DESCRIP} library */
+#undef HAVE_USB
+
+/* Define to indicate the ${USB_DESCRIP} library version */
+#undef HAVE_USB_VERSION
+
/* Define to 1 if you have the `utime' function. */
#undef HAVE_UTIME
@@ -394,9 +1048,21 @@
/* Define to 1 if you have the `vasprintf' function. */
#undef HAVE_VASPRINTF
+/* Define to 1 if you have the `vfork' function. */
+#undef HAVE_VFORK
+
+/* Define to 1 if you have the <vfork.h> header file. */
+#undef HAVE_VFORK_H
+
/* Define to 1 if your system has linux/videodev.h. */
#undef HAVE_VIDEODEV_H
+/* Define this to indicate the ${VORBIS_DESCRIP} library */
+#undef HAVE_VORBIS
+
+/* Define to indicate the ${VORBIS_DESCRIP} library version */
+#undef HAVE_VORBIS_VERSION
+
/* Define if your system has the VoiceTronix API libraries. */
#undef HAVE_VPB
@@ -408,6 +1074,24 @@
/* Define to 1 if you have the <winsock.h> header file. */
#undef HAVE_WINSOCK_H
+
+/* Define to 1 if `fork' works. */
+#undef HAVE_WORKING_FORK
+
+/* Define to 1 if `vfork' works. */
+#undef HAVE_WORKING_VFORK
+
+/* Define this to indicate the ${X11_DESCRIP} library */
+#undef HAVE_X11
+
+/* Define to indicate the ${X11_DESCRIP} library version */
+#undef HAVE_X11_VERSION
+
+/* Define this to indicate the ${ZLIB_DESCRIP} library */
+#undef HAVE_ZLIB
+
+/* Define to indicate the ${ZLIB_DESCRIP} library version */
+#undef HAVE_ZLIB_VERSION
/* Define to 1 if the system has the type `_Bool'. */
#undef HAVE__BOOL
@@ -436,6 +1120,10 @@
/* Define to 1 if the C compiler supports function prototypes. */
#undef PROTOTYPES
+
+/* Define to necessary symbol if this constant uses a non-standard name on
+ your system. */
+#undef PTHREAD_CREATE_JOINABLE
/* Define as the return type of signal handlers (`int' or `void'). */
#undef RETSIGTYPE
@@ -512,6 +1200,9 @@
#ifndef _POSIX_PTHREAD_SEMANTICS
# undef _POSIX_PTHREAD_SEMANTICS
#endif
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
/* Define like PROTOTYPES; this can be used by system headers. */
#undef __PROTOTYPES
@@ -543,6 +1234,9 @@
/* Define to `int' if <sys/types.h> doesn't define. */
#undef uid_t
+/* Define as `fork' if `vfork' does not work. */
+#undef vfork
+
/* Define to empty if the keyword `volatile' does not work. Warning: valid
code using `volatile' can become incorrect without. Disable with care. */
#undef volatile
Modified: team/twilson/calendaring/main/calendar.c
URL: http://svn.digium.com/view/asterisk/team/twilson/calendaring/main/calendar.c?view=diff&rev=151870&r1=151869&r2=151870
==============================================================================
--- team/twilson/calendaring/main/calendar.c (original)
+++ team/twilson/calendaring/main/calendar.c Fri Oct 24 03:17:19 2008
@@ -35,6 +35,7 @@
#include "asterisk/dial.h"
#include "asterisk/cli.h"
#include "asterisk/pbx.h"
+#include "asterisk/app.h"
#define TASK_POOL_THREADS 8
#define MAX_BUCKETS 19
@@ -47,6 +48,8 @@
static void event_notification_destroy(void *data);
static void *event_notification_duplicate(void *data);
+static void eventlist_destroy(void *data);
+static void *eventlist_duplicate(void *data);
static const struct ast_datastore_info event_notification_datastore = {
.type = "EventNotification",
@@ -54,12 +57,24 @@
.duplicate = event_notification_duplicate,
};
+static const struct ast_datastore_info eventlist_datastore_info = {
+ .type = "CalendarEventList",
+ .destroy = eventlist_destroy,
+ .duplicate = eventlist_duplicate,
+};
+
struct caltechlist {
const struct ast_calendar_tech *tech;
AST_LIST_ENTRY(caltechlist) list;
};
+struct evententry {
+ struct ast_calendar_event *event;
+ AST_LIST_ENTRY(evententry) list;
+};
+
AST_LIST_HEAD_NOLOCK_STATIC(techs, caltechlist);
+AST_LIST_HEAD_NOLOCK(eventlist, evententry);
static struct ast_calendar *unref_calendar(struct ast_calendar *cal)
{
@@ -127,6 +142,17 @@
ast_calendar_clear_events(cal);
ast_string_field_free_memory(cal);
ao2_unlock(cal);
+}
+
+static void eventlist_destructor(void *obj)
+{
+ struct eventlist *events = obj;
+ struct evententry *entry;
+
+ while ((entry = AST_LIST_REMOVE_HEAD(events, list))) {
+ ao2_ref(entry->event, -1);
+ ast_free(entry);
+ }
}
static int calendar_is_busy(struct ast_calendar *cal)
@@ -658,6 +684,293 @@
.read = calendar_busy_exec,
};
+static int add_event_to_list(struct eventlist *events, struct ast_calendar_event *event, time_t start, time_t end)
+{
+ struct evententry *entry, *iter;
+ int event_startdiff = abs(start - event->start);
+ int event_enddiff = abs(end - event->end);
+ int i = 0;
+
+ if (!(entry = ast_calloc(1, sizeof(*entry)))) {
+ ast_log(LOG_ERROR, "Unable to allocate memory for event list\n");
+ return -1;
+ }
+
+ entry->event = event;
+ ao2_ref(event, +1);
+
+ if (start == end) {
+ AST_LIST_TRAVERSE_SAFE_BEGIN(events, iter, list) {
+ int startdiff = abs(iter->event->start - start);
+
+ ast_debug(10, "Comparing %s with startdiff %d to %s with startdiff %d\n", event->summary, event_startdiff, iter->event->summary, startdiff);
+ ++i;
+ if (startdiff > event_startdiff) {
+ AST_LIST_INSERT_BEFORE_CURRENT(entry, list);
+ return i;
+ }
+ if (startdiff == event_startdiff) {
+ int enddiff = abs(iter->event->end - end);
+
+ if (enddiff > event_enddiff) {
+ AST_LIST_INSERT_BEFORE_CURRENT(entry, list);
+ return i;
+ }
+ if (event_startdiff == enddiff) {
+ if (strcmp(event->uid, iter->event->uid) < 0) {
+ AST_LIST_INSERT_BEFORE_CURRENT(entry, list);
+ return i;
+ }
+ }
+ }
+ }
+ AST_LIST_TRAVERSE_SAFE_END;
+
+ AST_LIST_INSERT_TAIL(events, entry, list);
+
+ return i;
+ }
+
+ AST_LIST_TRAVERSE_SAFE_BEGIN(events, iter, list) {
+ ++i;
+ if (iter->event->start > event->start) {
+ AST_LIST_INSERT_BEFORE_CURRENT(entry, list);
+ return i;
+ }
+
+ if (iter->event->start == event->start) {
+ if ((iter->event->end - iter->event->start) == (event->end - event->start)) {
+ if (strcmp(event->uid, iter->event->uid) < 0) {
+ AST_LIST_INSERT_BEFORE_CURRENT(entry, list);
+ return i;
+ }
+ }
+ if ((iter->event->end - iter->event->start) < (event->end - event->start)) {
+ AST_LIST_INSERT_BEFORE_CURRENT(entry, list);
+ return i;
+ }
+ }
+ }
+ AST_LIST_TRAVERSE_SAFE_END;
+
+ AST_LIST_INSERT_TAIL(events, entry, list);
+
+ return i;
+}
+
+/*! \brief Generate 32 byte random string (stolen from chan_sip.c)*/
+static char *generate_random_string(char *buf, size_t size)
+{
+ long val[4];
+ int x;
+
+ for (x=0; x<4; x++)
+ val[x] = ast_random();
+ snprintf(buf, size, "%08lx%08lx%08lx%08lx", val[0], val[1], val[2], val[3]);
+
+ return buf;
+}
+
+static void eventlist_destroy(void *data)
+{
+ struct eventlist *events = data;
+
+ ao2_ref(events, -1);
+}
+
+static void *eventlist_duplicate(void *data)
+{
+ struct eventlist *events = data;
+
+ if (!events) {
+ return NULL;
+ }
+
+ ao2_ref(events, +1);
+
+ return events;
+}
+
+static int calendar_query_exec(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
+{
+ struct ast_calendar *cal;
+ struct ao2_iterator i;
+ struct ast_calendar_event *event;
+ struct eventlist *events;
+ time_t start = INT_MIN, end = INT_MAX;
+ struct ast_datastore *eventlist_datastore;
+ AST_DECLARE_APP_ARGS(args,
+ AST_APP_ARG(calendar);
+ AST_APP_ARG(start);
+ AST_APP_ARG(end);
+ );
+
+ if (!chan) {
+ ast_log(LOG_WARNING, "CALENDAR_QUERY requires a channel to store the data on\n");
+ return -1;
+ }
+
+ AST_STANDARD_APP_ARGS(args, data);
+
+ if (ast_strlen_zero(args.calendar)) {
+ ast_log(LOG_WARNING, "CALENDAR_QUERY requires a calendar argument\n");
+ return -1;
+ }
+
+ if (!(cal = find_calendar(args.calendar))) {
+ ast_log(LOG_WARNING, "Unknown calendar '%s'\n", args.calendar);
+ return -1;
+ }
+
+ if (!(events = ao2_alloc(sizeof(struct eventlist), eventlist_destructor))) {
+ ast_log(LOG_ERROR, "Unable to allocate memory for event list\n");
+ cal = unref_calendar(cal);
+ return -1;
+ }
+
+ if (!ast_strlen_zero(args.start)) {
+ start = atoi(args.start);
+ }
+
+ if (!ast_strlen_zero(args.end)) {
+ end = atoi(args.end);
+ }
+
+ i = ao2_iterator_init(cal->events, 0);
+ while ((event = ao2_iterator_next(&i))) {
+ if (!(start > event->end || end < event->start)) {
+ ast_debug(10, "%s (%ld - %ld) overlapped with (%ld - %ld)\n", event->summary, event->start, event->end, start, end);
+ if (add_event_to_list(events, event, start, end) < 0) {
+ event = ast_calendar_unref_event(event);
+ return -1;
+ }
+ }
+
+ event = ast_calendar_unref_event(event);
+ }
+
+ ast_channel_lock(chan);
+ do {
+ generate_random_string(buf, len);
+ } while (ast_channel_datastore_find(chan, &eventlist_datastore_info, buf));
+ ast_channel_unlock(chan);
+
+ if (!(eventlist_datastore = ast_datastore_alloc(&eventlist_datastore_info, buf))) {
+ ast_log(LOG_ERROR, "Could not allocate datastore!\n");
+ return -1;
+ }
+
+ eventlist_datastore->inheritance = DATASTORE_INHERIT_FOREVER;
+ eventlist_datastore->data = events;
+
+ ast_channel_lock(chan);
+ ast_channel_datastore_add(chan, eventlist_datastore);
+ ast_channel_unlock(chan);
+
+ return 0;
+}
+
+static struct ast_custom_function calendar_query_function = {
+ .name = "CALENDAR_QUERY",
+ .synopsis = "Query a calendar server and store the data on a channel.\n"
+ "Return the id for accessing the result with CALENDAR_QUERY_RESULT()\n",
+ .syntax = "CALENDAR_QUERY(<calendar>[,<start>][,<end>])",
+ .desc = "Options:\n"
+ " <calendar> : A named calendar entry in the calendar.conf file\n"
+ " <start> : The start time of the query (in seconds since epoch)\n"
+ " <end> : The end time of the query (in seconds since epoch)\n",
+ .read = calendar_query_exec,
+};
+
+static int calendar_query_result_exec(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
+{
+ struct ast_datastore *datastore;
+ struct eventlist *events;
+ struct evententry *entry;
+ int row = 1;
+ AST_DECLARE_APP_ARGS(args,
+ AST_APP_ARG(id);
+ AST_APP_ARG(field);
+ AST_APP_ARG(row);
+ );
+
+ if (!chan) {
+ ast_log(LOG_WARNING, "CALENDAR_QUERY_RESULT requires a channel\n");
+ return -1;
+ }
+
+ AST_STANDARD_APP_ARGS(args, data);
+
+ if (ast_strlen_zero(args.id) || ast_strlen_zero(args.field)) {
+ ast_log(LOG_WARNING, "CALENDAR_QUERY_RESULT requires an id and a field");
+ return -1;
+ }
+
+ if (!(datastore = ast_channel_datastore_find(chan, &eventlist_datastore_info, args.id))) {
+ ast_log(LOG_WARNING, "There is no event notification datastore with id '%s' on '%s'!\n", args.id, chan->name);
+ return -1;
+ }
+
+ if (!(events = datastore->data)) {
+ ast_log(LOG_WARNING, "The datastore contains no data!\n");
+ return -1;
+ }
+
+ if (!ast_strlen_zero(args.row)) {
+ row = atoi(args.row);
+ }
+
+ AST_LIST_TRAVERSE(events, entry, list) {
+ if (--row) {
+ continue;
+ }
+ if (!strcasecmp(args.field, "summary")) {
+ ast_copy_string(buf, entry->event->summary, len);
+ } else if (!strcasecmp(args.field, "description")) {
+ ast_copy_string(buf, entry->event->description, len);
+ } else if (!strcasecmp(args.field, "organizer")) {
+ ast_copy_string(buf, entry->event->organizer, len);
+ } else if (!strcasecmp(args.field, "location")) {
+ ast_copy_string(buf, entry->event->location, len);
+ } else if (!strcasecmp(args.field, "calendar")) {
+ ast_copy_string(buf, entry->event->owner->name, len);
+ } else if (!strcasecmp(args.field, "uid")) {
+ ast_copy_string(buf, entry->event->uid, len);
+ } else if (!strcasecmp(args.field, "start")) {
+ snprintf(buf, len, "%ld", (long)entry->event->start);
+ } else if (!strcasecmp(args.field, "end")) {
+ snprintf(buf, len, "%ld", (long)entry->event->end);
+ } else if (!strcasecmp(args.field, "busystate")) {
+ snprintf(buf, len, "%d", entry->event->busy_state);
+ } else {
+ ast_log(LOG_WARNING, "Unknown field '%s'\n", args.field);
+ }
+ break;
+ }
+
+ return 0;
+}
+
+static struct ast_custom_function calendar_query_result_function = {
+ .name = "CALENDAR_QUERY_RESULT",
+ .synopsis = "Retrieve data from a previously run CALENDAR_QUERY() call",
+ .syntax = "CALENDAR_QUERY_RESULT(<id>,<field>[,<n>])",
+ .desc = "Options:\n"
+ " <field> : Specific information about a particular event\n"
+ " getnum = number of events occurring during time range\n"
+ " summary = A summary of the event\n"
+ " description = The full event description\n"
+ " organizer = The event organizer\n"
+ " location = The event location\n"
+ " calendar = The name of the calendar associted with the event\n"
+ " uid = The unique identifier for the event\n"
+ " start = The start time of the event (in seconds since epoch)\n"
+ " end = The end time of the event (in seconds since epoch)\n"
+ " busystate = The busy status of the event 0=FREE, 1=TENTATIVE, 2=BUSY\n"
+ " <n> : The nth event (starting at 1) returned by the query\n",
+ .read = calendar_query_result_exec,
+};
+
/*! \brief CLI command to list available calendars */
static char *handle_show_calendars(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{
@@ -802,6 +1115,8 @@
__ast_custom_function_register(&calendar_busy_function, NULL);
__ast_custom_function_register(&calendar_event_function, NULL);
+ __ast_custom_function_register(&calendar_query_function, NULL);
+ __ast_custom_function_register(&calendar_query_result_function, NULL);
ast_cli_register_multiple(calendar_cli, ARRAY_LEN(calendar_cli));
ast_mutex_init(&refreshlock);
More information about the asterisk-commits
mailing list