diff options
author | Russell Bryant <russell@russellbryant.com> | 2007-02-13 22:02:20 +0000 |
---|---|---|
committer | Russell Bryant <russell@russellbryant.com> | 2007-02-13 22:02:20 +0000 |
commit | f60efe347a9e0cceb9d2c917f86324fc6365dba6 (patch) | |
tree | 6c0ae108c47a878e9cc329ef2c330982e02b80a3 /main/cli.c | |
parent | 83856d4683d5409a76f62bd1917cc5f049223651 (diff) |
This introduces a new dialplan function, DEVSTATE, which allows you to do some
pretty cool things.
First, you can get the device state of anything in the dialplan:
NoOp(SIP/mypeer has state ${DEVSTATE(SIP/mypeer)})
NoOp(The conference room 1234 has state ${DEVSTATE(MeetMe:1234)})
Most importantly, this allows you to create custom device states so you can
control phone lamps directly from the dialplan.
Set(DEVSTATE(Custom:mycustomlamp)=BUSY)
...
exten => mycustomlamp,hint,Custom:mycustomlamp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@54261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/cli.c')
-rw-r--r-- | main/cli.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/main/cli.c b/main/cli.c index 538a2dbaf..a44a33348 100644 --- a/main/cli.c +++ b/main/cli.c @@ -1354,20 +1354,24 @@ int ast_cli_register(struct ast_cli_entry *e) /* * register/unregister an array of entries. */ -void ast_cli_register_multiple(struct ast_cli_entry *e, int len) +int ast_cli_register_multiple(struct ast_cli_entry *e, int len) { - int i; + int i, res = 0; for (i = 0; i < len; i++) - ast_cli_register(e + i); + res |= ast_cli_register(e + i); + + return res; } -void ast_cli_unregister_multiple(struct ast_cli_entry *e, int len) +int ast_cli_unregister_multiple(struct ast_cli_entry *e, int len) { - int i; + int i, res = 0; for (i = 0; i < len; i++) - ast_cli_unregister(e + i); + res |= ast_cli_unregister(e + i); + + return res; } |