SWITCH_DECLARE(switch_status_t) switch_event_add_header(switch_event_t *event, switch_stack_t stack,
const char *header_name, const char *fmt, ...) PRINTF_FUNCTION(4, 5);
#endif
+
+SWITCH_DECLARE(switch_status_t) switch_event_set_subclass_name(switch_event_t *event, const char *subclass_name);
+
/*!
\brief Add a string header to an event
\param event the event to add the header to
}
}
if (var && val) {
+ switch_event_del_header(*event, var);
switch_event_add_header_string(*event, SWITCH_STACK_BOTTOM, var, val);
if (!strcasecmp(var, "content-length")) {
clen = atoi(val);
if (ename) {
switch_event_types_t etype;
if (switch_name_event(ename, &etype) == SWITCH_STATUS_SUCCESS) {
+ const char *subclass_name = switch_event_get_header(*event, "Event-Subclass");
(*event)->event_id = etype;
+
+ if (etype == SWITCH_EVENT_CUSTOM && subclass_name) {
+ switch_event_set_subclass_name(*event, subclass_name);
+ }
}
}
return switch_event_base_add_header(event, stack, header_name, data);
}
+SWITCH_DECLARE(switch_status_t) switch_event_set_subclass_name(switch_event_t *event, const char *subclass_name)
+{
+ if (!event || !subclass_name) return SWITCH_STATUS_GENERR;
+
+ switch_safe_free(event->subclass_name);
+ event->subclass_name = DUP(subclass_name);
+ switch_event_del_header(event, "Event-Subclass");
+ switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Event-Subclass", subclass_name);
+ return SWITCH_STATUS_SUCCESS;
+}
+
SWITCH_DECLARE(switch_status_t) switch_event_add_header_string(switch_event_t *event, switch_stack_t stack, const char *header_name, const char *data)
{
if (data) {
*event = NULL;
}
+
SWITCH_DECLARE(switch_status_t) switch_event_dup(switch_event_t **event, switch_event_t *todup)
{
switch_event_header_t *hp;