diff options
author | eliel <eliel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-05-22 17:52:35 +0000 |
---|---|---|
committer | eliel <eliel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-05-22 17:52:35 +0000 |
commit | cbbfdc573c6f071b12dc665273c0063a0c69ad69 (patch) | |
tree | e1c6ca80d913c0e0aa3166a40d7b8e4461cd62d1 /main/features.c | |
parent | c208610d90db5a241e187413c831309cd5f13f32 (diff) |
Implement a new element in AstXML for AMI actions documentation.
A new xml element was created to manage the AMI actions documentation,
using AstXML.
To register a manager action using XML documentation it is now possible
using ast_manager_register_xml().
The CLI command 'manager show command' can be used to show the parsed
documentation.
Example manager xml documentation:
<manager name="ami action name" language="en_US">
<synopsis>
AMI action synopsis.
</synopsis>
<syntax>
<xi:include xpointer="xpointer(...)" /> <-- for ActionID
<parameter name="header1" required="true">
<para>Description</para>
</parameter>
...
</syntax>
<description>
<para>AMI action description</para>
</description>
<see-also>
...
</see-also>
</manager>
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@196308 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/features.c')
-rw-r--r-- | main/features.c | 76 |
1 files changed, 58 insertions, 18 deletions
diff --git a/main/features.c b/main/features.c index 8da3c7baa..6e3570e63 100644 --- a/main/features.c +++ b/main/features.c @@ -154,6 +154,61 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") <ref type="application">ParkedCall</ref> </see-also> </application> + <manager name="ParkedCalls" language="en_US"> + <synopsis> + List parked calls. + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + </syntax> + <description> + <para>List parked calls.</para> + </description> + </manager> + <manager name="Park" language="en_US"> + <synopsis> + Park a channel. + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + <parameter name="Channel" required="true"> + <para>Channel name to park.</para> + </parameter> + <parameter name="Channel2" required="true"> + <para>Channel to announce park info to (and return to if timeout).</para> + </parameter> + <parameter name="Timeout"> + <para>Number of milliseconds to wait before callback.</para> + </parameter> + </syntax> + <description> + <para>Park a channel.</para> + </description> + </manager> + <manager name="Bridge" language="en_US"> + <synopsis> + Bridge two channels already in the PBX. + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + <parameter name="Channel1" required="true"> + <para>Channel to Bridge to Channel2.</para> + </parameter> + <parameter name="Channel2" required="true"> + <para>Channel to Bridge to Channel1.</para> + </parameter> + <parameter name="Tone"> + <para>Play courtesy tone to Channel 2.</para> + <enumlist> + <enum name="yes" /> + <enum name="no" /> + </enumlist> + </parameter> + </syntax> + <description> + <para>Bridge together two channels already in the PBX.</para> + </description> + </manager> ***/ #define DEFAULT_PARK_TIME 45000 @@ -4109,14 +4164,6 @@ static char *handle_features_reload(struct ast_cli_entry *e, int cmd, struct ast return CLI_SUCCESS; } -static const char mandescr_bridge[] = -"Description: Bridge together two channels already in the PBX\n" -"Variables: ( Headers marked with * are required )\n" -" *Channel1: Channel to Bridge to Channel2\n" -" *Channel2: Channel to Bridge to Channel1\n" -" Tone: (Yes|No) Play courtesy tone to Channel 2\n" -"\n"; - /*! * \brief Actual bridge * \param chan @@ -4382,13 +4429,6 @@ static int manager_parking_status(struct mansession *s, const struct message *m) return RESULT_SUCCESS; } -static const char mandescr_park[] = -"Description: Park a channel.\n" -"Variables: (Names marked with * are required)\n" -" *Channel: Channel name to park\n" -" *Channel2: Channel to announce park info to (and return to if timeout)\n" -" Timeout: Number of milliseconds to wait before callback.\n"; - /*! * \brief Create manager event for parked calls * \param s @@ -4695,9 +4735,9 @@ int ast_features_init(void) if (!res) res = ast_register_application2(parkcall, park_call_exec, NULL, NULL, NULL); if (!res) { - ast_manager_register("ParkedCalls", 0, manager_parking_status, "List parked calls"); - ast_manager_register2("Park", EVENT_FLAG_CALL, manager_park, "Park a channel", mandescr_park); - ast_manager_register2("Bridge", EVENT_FLAG_CALL, action_bridge, "Bridge two channels already in the PBX", mandescr_bridge); + ast_manager_register_xml("ParkedCalls", 0, manager_parking_status); + ast_manager_register_xml("Park", EVENT_FLAG_CALL, manager_park); + ast_manager_register_xml("Bridge", EVENT_FLAG_CALL, action_bridge); } res |= ast_devstate_prov_add("Park", metermaidstate); |