Asterisk - The Open Source Telephony Project
18.5.0
|
Device state management. More...
#include "asterisk.h"
#include "asterisk/_private.h"
#include "asterisk/channel.h"
#include "asterisk/utils.h"
#include "asterisk/lock.h"
#include "asterisk/linkedlists.h"
#include "asterisk/devicestate.h"
#include "asterisk/pbx.h"
#include "asterisk/app.h"
#include "asterisk/astobj2.h"
#include "asterisk/stasis.h"
Go to the source code of this file.
Data Structures | |
struct | chan2dev |
Mapping for channel states to device states. More... | |
struct | devstate_prov |
A device state provider (not a channel) More... | |
struct | devstate_provs |
A list of providers. More... | |
struct | state_change |
struct | state_changes |
The state change queue. State changes are queued for processing by a separate thread. More... | |
Macros | |
#define | DEVSTATE_TOPIC_BUCKETS 57 |
Functions | |
static enum ast_device_state | _ast_device_state (const char *device, int check_cache) |
Check device state through channel specific function or generic function. More... | |
enum ast_device_state | ast_device_state (const char *device) |
Asks a channel for device state. More... | |
struct stasis_cache * | ast_device_state_cache (void) |
Backend cache for ast_device_state_topic_cached() More... | |
int | ast_device_state_clear_cache (const char *device) |
Clear the device from the stasis cache. More... | |
int | ast_device_state_engine_init (void) |
Initialize the device state engine in separate thread. More... | |
struct stasis_topic * | ast_device_state_topic (const char *device) |
Get the Stasis topic for device state messages for a specific device. More... | |
struct stasis_topic * | ast_device_state_topic_all (void) |
Get the Stasis topic for device state messages. More... | |
struct stasis_topic * | ast_device_state_topic_cached (void) |
Get the Stasis caching topic for device state messages. More... | |
const char * | ast_devstate2str (enum ast_device_state devstate) |
Find devicestate as text message for output. More... | |
void | ast_devstate_aggregate_add (struct ast_devstate_aggregate *agg, enum ast_device_state state) |
Add a device state to the aggregate device state. More... | |
void | ast_devstate_aggregate_init (struct ast_devstate_aggregate *agg) |
Initialize aggregate device state. More... | |
enum ast_device_state | ast_devstate_aggregate_result (struct ast_devstate_aggregate *agg) |
Get the aggregate device state result. More... | |
int | ast_devstate_changed (enum ast_device_state state, enum ast_devstate_cache cachable, const char *fmt,...) |
Tells Asterisk the State for Device is changed. More... | |
int | ast_devstate_changed_literal (enum ast_device_state state, enum ast_devstate_cache cachable, const char *device) |
Tells Asterisk the State for Device is changed. More... | |
int | ast_devstate_prov_add (const char *label, ast_devstate_prov_cb_type callback) |
Add device state provider. More... | |
int | ast_devstate_prov_del (const char *label) |
Remove device state provider. More... | |
const char * | ast_devstate_str (enum ast_device_state state) |
Convert device state to text string that is easier to parse. More... | |
enum ast_device_state | ast_devstate_val (const char *val) |
Convert device state from text to integer value. More... | |
enum ast_device_state | ast_parse_device_state (const char *device) |
Find out if device is active in a call or not. More... | |
int | ast_publish_device_state_full (const char *device, enum ast_device_state state, enum ast_devstate_cache cachable, struct ast_eid *eid) |
Publish a device state update with EID. More... | |
enum ast_device_state | ast_state_chan2dev (enum ast_channel_state chanstate) |
Convert channel state to devicestate. More... | |
static struct stasis_message * | device_state_aggregate_calc (struct stasis_cache_entry *entry, struct stasis_message *new_snapshot) |
static void | device_state_aggregate_publish (struct stasis_topic *cache_topic, struct stasis_message *aggregate) |
static struct ast_device_state_message * | device_state_alloc (const char *device, enum ast_device_state state, enum ast_devstate_cache cachable, const struct ast_eid *eid) |
static void | device_state_engine_cleanup (void) |
static const char * | device_state_get_id (struct stasis_message *message) |
static enum ast_device_state | devstate_cached (const char *device) |
static void | devstate_change_cb (void *data, struct stasis_subscription *sub, struct stasis_message *msg) |
static void | devstate_cleanup (void) |
int | devstate_init (void) |
Initialize the device state core. More... | |
static struct ast_manager_event_blob * | devstate_to_ami (struct stasis_message *msg) |
static struct ast_event * | devstate_to_event (struct stasis_message *message) |
Convert a stasis_message to a ast_event. More... | |
static void * | do_devstate_changes (void *data) |
Go through the dev state change queue and update changes in the dev state thread. More... | |
static void | do_state_change (const char *device, enum ast_devstate_cache cachable) |
static int | getproviderstate (const char *provider, const char *address) |
Get provider device state. More... | |
STASIS_MESSAGE_TYPE_DEFN (ast_device_state_message_type,.to_ami=devstate_to_ami,.to_event=devstate_to_event,) | |
Variables | |
static const struct chan2dev | chan2dev [] |
static ast_cond_t | change_pending |
Flag for the queue. More... | |
static pthread_t | change_thread = AST_PTHREADT_NULL |
The device state change notification thread. More... | |
static struct stasis_cache * | device_state_cache |
static struct stasis_topic * | device_state_topic_all |
static struct stasis_caching_topic * | device_state_topic_cached |
static struct stasis_topic_pool * | device_state_topic_pool |
struct stasis_subscription * | devstate_message_sub |
static struct devstate_provs | devstate_provs = { .first = NULL, .last = NULL, .lock = { PTHREAD_RWLOCK_INITIALIZER , NULL, {1, 0} } , } |
static const char *const | devstatestring [][2] |
Device state strings for printing. More... | |
static volatile int | shuttingdown |
static struct state_changes | state_changes = { .first = NULL, .last = NULL, .lock = { PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP , NULL, {1, 0} } , } |
#define DEVSTATE_TOPIC_BUCKETS 57 |
Definition at line 158 of file devicestate.c.
|
static |
Check device state through channel specific function or generic function.
Channel driver that provides device state
Another provider of device state
Definition at line 328 of file devicestate.c.
References ast_debug, AST_DEVICE_INVALID, AST_DEVICE_UNKNOWN, ast_get_channel_tech(), ast_parse_device_state(), ast_strdupa, ast_channel_tech::devicestate, devstate_cached(), getproviderstate(), provider, and strsep().
Referenced by ast_device_state(), and do_state_change().
enum ast_device_state ast_device_state | ( | const char * | device | ) |
Asks a channel for device state.
device | like a dial string |
Asks a channel for device state, data is normally a number from a dial string used by the low level module Tries the channel device state callback if not supported search in the active channels list for the device.
an | AST_DEVICE_??? state |
Definition at line 382 of file devicestate.c.
References _ast_device_state().
struct stasis_cache* ast_device_state_cache | ( | void | ) |
Backend cache for ast_device_state_topic_cached()
Cache | of ast_device_state_message. |
Definition at line 673 of file devicestate.c.
References device_state_cache.
Referenced by action_devicestatelist(), ast_device_state_clear_cache(), AST_TEST_DEFINE(), asterisk_publication_devicestate_refresh(), asterisk_start_devicestate_publishing(), cache_cleanup(), devstate_cached(), and xmpp_init_event_distribution().
int ast_device_state_clear_cache | ( | const char * | device | ) |
Clear the device from the stasis cache.
The | device to clear |
0 | if successful |
-1 | nothing to clear |
Definition at line 688 of file devicestate.c.
References ao2_cleanup, ast_device_state_cache(), ast_device_state_message_type(), ast_device_state_topic(), ast_eid_default, stasis_cache_clear_create(), stasis_cache_get_by_eid(), and stasis_publish().
Referenced by stasis_app_device_state_delete().
int ast_device_state_engine_init | ( | void | ) |
Initialize the device state engine in separate thread.
Provided by devicestate.c
Definition at line 618 of file devicestate.c.
References ast_cond_init, ast_log, ast_pthread_create_background, ast_register_cleanup(), change_pending, change_thread, device_state_engine_cleanup(), do_devstate_changes(), LOG_ERROR, and NULL.
Referenced by asterisk_daemon().
struct stasis_topic* ast_device_state_topic | ( | const char * | device | ) |
Get the Stasis topic for device state messages for a specific device.
uniqueid | The device for which to get the topic |
The | topic structure for MWI messages for a given device |
NULL | if it failed to be found or allocated |
Definition at line 683 of file devicestate.c.
References stasis_topic_pool_get_topic().
Referenced by ast_device_state_clear_cache(), ast_publish_device_state_full(), cc_generic_agent_start_monitoring(), create_new_generic_list(), device_state_aggregate_publish(), remove_device_states_cb(), and subscribe_device_state().
struct stasis_topic* ast_device_state_topic_all | ( | void | ) |
Get the Stasis topic for device state messages.
The | topic for device state messages |
NULL | if it has not been allocated |
Definition at line 668 of file devicestate.c.
References device_state_topic_all.
Referenced by ast_publish_device_state_full(), AST_TEST_DEFINE(), asterisk_start_devicestate_publishing(), devstate_init(), load_module(), load_pbx(), publish_hint_change(), publish_hint_remove(), subscribe_device_state(), and xmpp_init_event_distribution().
struct stasis_topic* ast_device_state_topic_cached | ( | void | ) |
Get the Stasis caching topic for device state messages.
The | caching topic for device state messages |
NULL | if it has not been allocated |
Definition at line 678 of file devicestate.c.
References stasis_caching_get_topic().
Referenced by AST_TEST_DEFINE().
const char* ast_devstate2str | ( | enum ast_device_state | devstate | ) |
Find devicestate as text message for output.
Convert device state to text string for output.
Definition at line 237 of file devicestate.c.
References devstatestring.
Referenced by ast_sip_get_device_state(), AST_TEST_DEFINE(), ccss_notify_device_state_change(), device_state_cb(), do_state_change(), extension_state_cb(), page_exec(), parking_notify_metermaids(), and print_queue().
void ast_devstate_aggregate_add | ( | struct ast_devstate_aggregate * | agg, |
enum ast_device_state | state | ||
) |
Add a device state to the aggregate device state.
[in] | agg | the state object |
[in] | state | the state to add |
Definition at line 636 of file devicestate.c.
References AST_DEVICE_BUSY, AST_DEVICE_INUSE, AST_DEVICE_ONHOLD, AST_DEVICE_RINGING, AST_DEVICE_RINGINUSE, ast_devstate_aggregate::inuse, ast_devstate_aggregate::ringing, ast_devstate_aggregate::state, and state.
Referenced by ast_extension_state3(), AST_TEST_DEFINE(), chan_pjsip_devicestate(), device_state_aggregate_calc(), and handle_show_device2extenstate().
void ast_devstate_aggregate_init | ( | struct ast_devstate_aggregate * | agg | ) |
Initialize aggregate device state.
[in] | agg | the state object |
Definition at line 630 of file devicestate.c.
References AST_DEVICE_INVALID, and ast_devstate_aggregate::state.
Referenced by ast_extension_state3(), AST_TEST_DEFINE(), chan_pjsip_devicestate(), device_state_aggregate_calc(), and handle_show_device2extenstate().
enum ast_device_state ast_devstate_aggregate_result | ( | struct ast_devstate_aggregate * | agg | ) |
Get the aggregate device state result.
[in] | agg | the state object |
Definition at line 663 of file devicestate.c.
References ast_devstate_aggregate::state.
Referenced by ast_extension_state3(), AST_TEST_DEFINE(), chan_pjsip_devicestate(), device_state_aggregate_calc(), and handle_show_device2extenstate().
int ast_devstate_changed | ( | enum ast_device_state | state, |
enum ast_devstate_cache | cachable, | ||
const char * | fmt, | ||
... | |||
) |
Tells Asterisk the State for Device is changed.
state | the new state of the device |
cachable | whether this device state is cachable |
fmt | device name like a dial string with format parameters |
The new state of the device will be sent off to any subscribers of device states. It will also be stored in the internal event cache.
0 | on success |
-1 | on failure |
Definition at line 510 of file devicestate.c.
References ast_devstate_changed_literal(), AST_MAX_EXTENSION, and buf.
Referenced by __expire_registry(), __iax2_poke_noanswer(), add_to_queue(), agent_devstate_changed(), ast_sip_persistent_endpoint_update_state(), calendar_devstate_change(), ccss_notify_device_state_change(), chan_pjsip_indicate(), conf_handle_first_join(), conf_run(), destroy_event(), device_state_cb(), devstate_write(), expire_register(), handle_cli_devstate_change(), handle_offhook_message(), handle_onhook_message(), handle_response_invite(), handle_response_peerpoke(), handle_soft_key_event_message(), handle_stimulus_message(), init_queue(), join_queue(), leave_queue(), load_module(), member_add_to_queue(), member_remove_from_queue(), mwi_update_cb(), my_on_hook(), parking_notify_metermaids(), populate_cache(), reg_source_db(), register_verify(), remove_from_queue(), rt_handle_member_record(), set_queue_member_pause(), sip_peer_hold(), sip_poke_noanswer(), skinny_register(), skinny_session_cleanup(), sla_change_trunk_state(), sla_handle_hold_event(), sla_station_exec(), socket_process_helper(), stasis_app_device_state_delete(), stasis_app_device_state_update(), transition_to_empty(), update_call_counter(), update_devstate(), update_registry(), and xmpp_pak_presence().
int ast_devstate_changed_literal | ( | enum ast_device_state | state, |
enum ast_devstate_cache | cachable, | ||
const char * | device | ||
) |
Tells Asterisk the State for Device is changed.
state | the new state of the device |
cachable | whether this device state is cachable |
device | device name like a dial string with format parameters |
The new state of the device will be sent off to any subscribers of device states. It will also be stored in the internal event cache.
0 | on success |
-1 | on failure |
Definition at line 471 of file devicestate.c.
References ast_calloc, ast_cond_signal, AST_DEVICE_UNKNOWN, AST_LIST_INSERT_TAIL, AST_LIST_LOCK, AST_LIST_UNLOCK, AST_PTHREADT_NULL, ast_publish_device_state, state_change::cachable, change_pending, change_thread, state_change::device, do_state_change(), and state_change::list.
Referenced by ast_channel_destructor(), ast_devstate_changed(), ast_setstate(), AST_TEST_DEFINE(), chan_pjsip_indicate(), and dahdi_new().
int ast_devstate_prov_add | ( | const char * | label, |
ast_devstate_prov_cb_type | callback | ||
) |
Add device state provider.
label | to use in hint, like label:object |
callback | Callback |
0 | success |
-1 | failure |
Definition at line 391 of file devicestate.c.
References ast_calloc, ast_copy_string(), ast_free, ast_log, AST_RWLIST_INSERT_HEAD, AST_RWLIST_TRAVERSE, AST_RWLIST_UNLOCK, AST_RWLIST_WRLOCK, devstate_prov::callback, devstate_prov::label, and LOG_WARNING.
Referenced by AST_TEST_DEFINE(), load_module(), and load_parking_devstate().
int ast_devstate_prov_del | ( | const char * | label | ) |
Remove device state provider.
label | to use in hint, like label:object |
-1 | on failure |
0 | on success |
Definition at line 418 of file devicestate.c.
References ast_free, AST_RWLIST_REMOVE_CURRENT, AST_RWLIST_TRAVERSE_SAFE_BEGIN, AST_RWLIST_TRAVERSE_SAFE_END, AST_RWLIST_UNLOCK, AST_RWLIST_WRLOCK, and devstate_prov::label.
Referenced by AST_TEST_DEFINE(), load_module(), unload_module(), and unload_parking_devstate().
const char* ast_devstate_str | ( | enum ast_device_state | devstate | ) |
Convert device state to text string that is easier to parse.
devstate | Current device state |
Definition at line 255 of file devicestate.c.
References devstatestring, and state.
Referenced by agent_handle_show_specific(), agent_show_requested(), AST_TEST_DEFINE(), asterisk_publisher_devstate_cb(), devstate_read(), devstate_to_ami(), handle_show_device2extenstate(), stasis_app_device_state_to_json(), and xmpp_pubsub_devstate_cb().
enum ast_device_state ast_devstate_val | ( | const char * | val | ) |
Convert device state from text to integer value.
val | The text representing the device state. Valid values are anything that comes after AST_DEVICE_ in one of the defined values. |
Definition at line 260 of file devicestate.c.
References AST_DEVICE_BUSY, AST_DEVICE_INUSE, AST_DEVICE_INVALID, AST_DEVICE_NOT_INUSE, AST_DEVICE_ONHOLD, AST_DEVICE_RINGING, AST_DEVICE_RINGINUSE, AST_DEVICE_UNAVAILABLE, and AST_DEVICE_UNKNOWN.
Referenced by AST_TEST_DEFINE(), asterisk_publication_devicestate(), custom_devstate_callback(), devstate_write(), handle_cli_devstate_change(), initialize_cc_devstate_map_helper(), load_module(), populate_cache(), stasis_app_device_state_update(), stasis_device_state_cb(), and xmpp_pubsub_handle_event().
enum ast_device_state ast_parse_device_state | ( | const char * | device | ) |
Find out if device is active in a call or not.
Search the Channels by Name.
Definition at line 287 of file devicestate.c.
References ast_channel_get_by_name_prefix(), ast_channel_hold_state(), AST_CHANNEL_NAME, ast_channel_unref, AST_CONTROL_HOLD, AST_DEVICE_ONHOLD, AST_DEVICE_UNKNOWN, ast_state_chan2dev(), chan2dev::chan, and match().
Referenced by _ast_device_state(), AST_TEST_DEFINE(), and chanavail_exec().
int ast_publish_device_state_full | ( | const char * | device, |
enum ast_device_state | state, | ||
enum ast_devstate_cache | cachable, | ||
struct ast_eid * | eid | ||
) |
Publish a device state update with EID.
[in] | device | The device name |
[in] | state | The state of the device |
[in] | cachable | Whether the device state can be cached |
[in] | eid | The EID of the server that originally published the message |
0 | Success |
-1 | Failure |
Definition at line 709 of file devicestate.c.
References ao2_cleanup, ast_assert, ast_device_state_message_type(), ast_device_state_topic(), ast_device_state_topic_all(), ast_strlen_zero, device_state_alloc(), NULL, RAII_VAR, stasis_message_create_full(), stasis_publish(), and stasis_topic_pool_topic_exists().
Referenced by AST_TEST_DEFINE(), asterisk_publication_devicestate(), devstate_change_cb(), publish_device_state_to_stasis(), and xmpp_pubsub_handle_event().
enum ast_device_state ast_state_chan2dev | ( | enum ast_channel_state | chanstate | ) |
Convert channel state to devicestate.
chanstate | Current channel state |
Definition at line 242 of file devicestate.c.
References ARRAY_LEN, AST_DEVICE_UNKNOWN, chan2dev::chan, and chan2dev::dev.
Referenced by ast_parse_device_state(), AST_TEST_DEFINE(), and chan_pjsip_devicestate().
|
static |
Definition at line 818 of file devicestate.c.
References ao2_bump, ao2_cleanup, ast_device_state_message_type(), ast_devstate_aggregate_add(), ast_devstate_aggregate_init(), ast_devstate_aggregate_result(), AST_DEVSTATE_CACHABLE, ast_device_state_message::device, device_state_alloc(), NULL, stasis_cache_entry_get_aggregate(), stasis_cache_entry_get_local(), stasis_cache_entry_get_remote(), stasis_message_create_full(), stasis_message_data(), and ast_device_state_message::state.
Referenced by devstate_init().
|
static |
Definition at line 787 of file devicestate.c.
References ast_device_state_topic(), ast_device_state_message::device, device_state_get_id(), and stasis_publish().
Referenced by devstate_init().
|
static |
Definition at line 547 of file devicestate.c.
References AO2_ALLOC_OPT_LOCK_NOLOCK, ao2_alloc_options, ast_assert, ast_strlen_zero, ast_device_state_message::cachable, ast_device_state_message::device, ast_device_state_message::eid, NULL, ast_device_state_message::state, state, and ast_device_state_message::stuff.
Referenced by ast_publish_device_state_full(), and device_state_aggregate_calc().
|
static |
Definition at line 605 of file devicestate.c.
References ast_cond_signal, AST_LIST_LOCK, AST_LIST_UNLOCK, AST_PTHREADT_NULL, change_pending, change_thread, NULL, and shuttingdown.
Referenced by ast_device_state_engine_init().
|
static |
Definition at line 761 of file devicestate.c.
References ast_device_state_message_type(), AST_DEVSTATE_NOT_CACHABLE, ast_device_state_message::cachable, ast_device_state_message::device, NULL, stasis_message_data(), and stasis_message_type().
Referenced by device_state_aggregate_publish(), and devstate_init().
|
static |
Definition at line 309 of file devicestate.c.
References ao2_cleanup, ast_device_state_cache(), ast_device_state_message_type(), AST_DEVICE_UNKNOWN, NULL, stasis_cache_get_by_eid(), stasis_message_data(), ast_device_state_message::state, and state.
Referenced by _ast_device_state().
|
static |
Definition at line 583 of file devicestate.c.
References ast_device_state_message_type(), AST_DEVSTATE_CACHABLE, ast_publish_device_state_full(), ast_device_state_message::cachable, ast_device_state_message::device, ast_device_state_message::eid, NULL, stasis_message_data(), stasis_message_type(), and ast_device_state_message::state.
Referenced by devstate_init().
|
static |
Definition at line 881 of file devicestate.c.
References ao2_cleanup, ast_device_state_message_type(), NULL, stasis_caching_unsubscribe_and_join(), STASIS_MESSAGE_TYPE_CLEANUP, and stasis_unsubscribe_and_join().
Referenced by devstate_init().
int devstate_init | ( | void | ) |
Initialize the device state core.
0 | Success |
-1 | Failure |
Definition at line 898 of file devicestate.c.
References ast_device_state_message_type(), ast_device_state_topic_all(), ast_log, ast_register_cleanup(), device_state_aggregate_calc(), device_state_aggregate_publish(), device_state_get_id(), devstate_change_cb(), devstate_cleanup(), LOG_ERROR, NULL, stasis_cache_create_full(), stasis_caching_accept_message_type(), stasis_caching_set_filter(), stasis_caching_topic_create(), STASIS_MESSAGE_TYPE_INIT, stasis_subscribe, stasis_subscription_accept_message_type(), STASIS_SUBSCRIPTION_FILTER_SELECTIVE, stasis_subscription_set_filter(), stasis_topic_create(), and stasis_topic_pool_create().
Referenced by asterisk_daemon().
|
static |
Definition at line 938 of file devicestate.c.
References ast_devstate_str(), ast_manager_event_blob_create(), ast_device_state_message::device, ast_device_state_message::eid, EVENT_FLAG_CALL, NULL, stasis_message_data(), and ast_device_state_message::state.
|
static |
Convert a stasis_message to a ast_event.
Definition at line 956 of file devicestate.c.
References AST_EVENT_DEVICE_STATE, AST_EVENT_DEVICE_STATE_CHANGE, AST_EVENT_IE_CACHABLE, AST_EVENT_IE_DEVICE, AST_EVENT_IE_EID, AST_EVENT_IE_END, AST_EVENT_IE_PLTYPE_RAW, AST_EVENT_IE_PLTYPE_STR, AST_EVENT_IE_PLTYPE_UINT, AST_EVENT_IE_STATE, ast_event_new(), ast_device_state_message::cachable, ast_device_state_message::device, ast_device_state_message::eid, NULL, stasis_message_data(), and ast_device_state_message::state.
|
static |
Go through the dev state change queue and update changes in the dev state thread.
Definition at line 523 of file devicestate.c.
References ast_cond_wait, ast_free, AST_LIST_EMPTY, AST_LIST_FIRST, AST_LIST_HEAD_INIT_NOLOCK, AST_LIST_LOCK, AST_LIST_NEXT, AST_LIST_UNLOCK, state_change::cachable, change_pending, state_change::device, do_state_change(), state_change::list, state_changes::lock, state_change::next, NULL, and shuttingdown.
Referenced by ast_device_state_engine_init().
|
static |
Called by the state change thread to find out what the state is, and then to queue up the state change event
Definition at line 460 of file devicestate.c.
References _ast_device_state(), ast_debug, ast_devstate2str(), ast_publish_device_state, and state.
Referenced by ast_devstate_changed_literal(), and do_devstate_changes().
|
static |
Get provider device state.
Definition at line 439 of file devicestate.c.
References ast_debug, AST_DEVICE_INVALID, AST_RWLIST_RDLOCK, AST_RWLIST_TRAVERSE, AST_RWLIST_UNLOCK, devstate_prov::callback, and devstate_prov::label.
Referenced by _ast_device_state().
STASIS_MESSAGE_TYPE_DEFN | ( | ast_device_state_message_type | , |
. | to_ami = devstate_to_ami , |
||
. | to_event = devstate_to_event |
||
) |
|
static |
Flag for the queue.
Definition at line 214 of file devicestate.c.
Referenced by ast_device_state_engine_init(), ast_devstate_changed_literal(), device_state_engine_cleanup(), and do_devstate_changes().
|
static |
The device state change notification thread.
Definition at line 211 of file devicestate.c.
Referenced by ast_device_state_engine_init(), ast_devstate_changed_literal(), and device_state_engine_cleanup().
|
static |
Definition at line 220 of file devicestate.c.
Referenced by ast_device_state_cache().
|
static |
Definition at line 219 of file devicestate.c.
Referenced by ast_device_state_topic_all().
|
static |
Definition at line 221 of file devicestate.c.
|
static |
Definition at line 222 of file devicestate.c.
struct stasis_subscription* devstate_message_sub |
Definition at line 217 of file devicestate.c.
|
static |
|
static |
Device state strings for printing.
Definition at line 161 of file devicestate.c.
Referenced by ast_devstate2str(), and ast_devstate_str().
|
static |
Definition at line 215 of file devicestate.c.
Referenced by device_state_engine_cleanup(), and do_devstate_changes().
|
static |