Merge a set of device state improvements from team/russell/events.
authorRussell Bryant <russell@russellbryant.com>
Fri, 10 Aug 2007 16:24:11 +0000 (16:24 +0000)
committerRussell Bryant <russell@russellbryant.com>
Fri, 10 Aug 2007 16:24:11 +0000 (16:24 +0000)
commite113d36aa4052a9f102fbac687f16bf9bf6096de
treefc67d9e42c9d0e43f71e39bb24d4b2edc06ac7a0
parentfef7773d0b802f4330999923bcd0a353a6f7ee31
Merge a set of device state improvements from team/russell/events.

The way a device state change propagates is kind of silly, in my opinion.  A
device state provider calls a function that indicates that the state of a
device has changed.  Then, another thread goes back and calls a callback for
the device state provider to find out what the new state is before it can go
send it off to whoever cares.

I have changed it so that you can include the state that the device has changed
to in the first function call from the device state provider.  This removes the
need to have to call the callback, which locks up critical containers to go find
out what the state changed to.

This change set changes the "simple" device state providers to use the new method.
This includes parking, meetme, and SLA.

I have also mostly converted chan_agent in my branch, but still have some more
things to think through before presenting the plan for converting channel drivers
to ensure all of the right events get generated ...

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79027 65c4cc65-6c06-0410-ace0-fbb531ad65f3
apps/app_meetme.c
funcs/func_devstate.c
include/asterisk/devicestate.h
main/devicestate.c
main/event.c
res/res_features.c