summaryrefslogtreecommitdiff
path: root/main/utils.c
diff options
context:
space:
mode:
authorKevin Harwell <kharwell@digium.com>2013-11-23 17:26:57 +0000
committerKevin Harwell <kharwell@digium.com>2013-11-23 17:26:57 +0000
commit05cbf8df9b2ea0b41e049698b9f51ee4365ceab0 (patch)
tree896d138372ec9fc2f443374c6f200a0f67725fbb /main/utils.c
parent14a74529344ef5229f100c81bc969f34e27112b3 (diff)
res_pjsip: AMI commands and events.
Created the following AMI commands and corresponding events for res_pjsip: PJSIPShowEndpoints - Provides a listing of all pjsip endpoints and a few select attributes on each. Events: EndpointList - for each endpoint a few attributes. EndpointlistComplete - after all endpoints have been listed. PJSIPShowEndpoint - Provides a detail list of attributes for a specified endpoint. Events: EndpointDetail - attributes on an endpoint. AorDetail - raised for each AOR on an endpoint. AuthDetail - raised for each associated inbound and outbound auth TransportDetail - transport attributes. IdentifyDetail - attributes for the identify object associated with the endpoint. EndpointDetailComplete - last event raised after all detail events. PJSIPShowRegistrationsInbound - Provides a detail listing of all inbound registrations. Events: InboundRegistrationDetail - inbound registration attributes for each registration. InboundRegistrationDetailComplete - raised after all detail records have been listed. PJSIPShowRegistrationsOutbound - Provides a detail listing of all outbound registrations. Events: OutboundRegistrationDetail - outbound registration attributes for each registration. OutboundRegistrationDetailComplete - raised after all detail records have been listed. PJSIPShowSubscriptionsInbound - A detail listing of all inbound subscriptions and their attributes. Events: SubscriptionDetail - on each subscription detailed attributes SubscriptionDetailComplete - raised after all detail records have been listed. PJSIPShowSubscriptionsOutbound - A detail listing of all outboundbound subscriptions and their attributes. Events: SubscriptionDetail - on each subscription detailed attributes SubscriptionDetailComplete - raised after all detail records have been listed. (issue ASTERISK-22609) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2959/ ........ Merged revisions 403131 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@403133 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/utils.c')
-rw-r--r--main/utils.c25
1 files changed, 22 insertions, 3 deletions
diff --git a/main/utils.c b/main/utils.c
index 8252488a9..b1a95425c 100644
--- a/main/utils.c
+++ b/main/utils.c
@@ -1707,7 +1707,7 @@ char *ast_process_quotes_and_slashes(char *start, char find, char replace_with)
return dataPut;
}
-void ast_join(char *s, size_t len, const char * const w[])
+void ast_join_delim(char *s, size_t len, const char * const w[], unsigned int size, char delim)
{
int x, ofs = 0;
const char *src;
@@ -1715,9 +1715,9 @@ void ast_join(char *s, size_t len, const char * const w[])
/* Join words into a string */
if (!s)
return;
- for (x = 0; ofs < len && w[x]; x++) {
+ for (x = 0; ofs < len && w[x] && x < size; x++) {
if (x > 0)
- s[ofs++] = ' ';
+ s[ofs++] = delim;
for (src = w[x]; *src && ofs < len; src++)
s[ofs++] = *src;
}
@@ -1726,6 +1726,25 @@ void ast_join(char *s, size_t len, const char * const w[])
s[ofs] = '\0';
}
+char *ast_to_camel_case_delim(const char *s, const char *delim)
+{
+ char *res = ast_strdup(s);
+ char *front, *back, *buf = res;
+ int size;
+
+ front = strtok_r(buf, delim, &back);
+
+ while (front) {
+ size = strlen(front);
+ *front = toupper(*front);
+ ast_copy_string(buf, front, size + 1);
+ buf += size;
+ front = strtok_r(NULL, delim, &back);
+ }
+
+ return res;
+}
+
/*
* stringfields support routines.
*/