]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
MODEVENT-39
authorAnthony Minessale <anthony.minessale@gmail.com>
Thu, 26 Feb 2009 18:54:00 +0000 (18:54 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Thu, 26 Feb 2009 18:54:00 +0000 (18:54 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12311 d0543943-73ff-0310-b7d9-9358b9ac24b2

libs/esl/src/esl_event.c
libs/esl/src/include/esl_event.h
src/include/switch_types.h
src/switch_event.c

index 7abf063832975ee7b1c4d0b6485c90657fe6899d..2c4cfec5b21a5f9608cdf7fa0942fda88c571c65 100644 (file)
@@ -59,6 +59,7 @@ static char *my_dup(const char *s)
 */
 static const char *EVENT_NAMES[] = {
        "CUSTOM",
+       "CLONE",
        "CHANNEL_CREATE",
        "CHANNEL_DESTROY",
        "CHANNEL_STATE",
@@ -147,7 +148,7 @@ ESL_DECLARE(esl_status_t) esl_event_create_subclass(esl_event_t **event, esl_eve
 {
        *event = NULL;
 
-       if ((event_id > 0 && event_id != ESL_EVENT_CUSTOM) && subclass_name) {
+       if ((event_id != ESL_EVENT_CLONE && event_id != ESL_EVENT_CUSTOM) && subclass_name) {
                return ESL_FAIL;
        }
 
@@ -157,7 +158,7 @@ ESL_DECLARE(esl_status_t) esl_event_create_subclass(esl_event_t **event, esl_eve
 
        memset(*event, 0, sizeof(esl_event_t));
 
-       if (event_id) {
+       if (event_id != ESL_EVENT_CLONE) {
                (*event)->event_id = event_id;
                esl_event_add_header_string(*event, ESL_STACK_BOTTOM, "Event-Name", esl_event_name((*event)->event_id));
        }
@@ -392,7 +393,7 @@ ESL_DECLARE(esl_status_t) esl_event_dup(esl_event_t **event, esl_event_t *todup)
 {
        esl_event_header_t *hp;
 
-       if (esl_event_create_subclass(event, 0, todup->subclass_name) != ESL_SUCCESS) {
+       if (esl_event_create_subclass(event, ESL_EVENT_CLONE, todup->subclass_name) != ESL_SUCCESS) {
                return ESL_FAIL;
        }
 
index 055418b10c9fa3099dc42777cc86ce3087d3bccb..d9e7a3e4ba7a31d52168e25f76a58bb7586ebc93 100644 (file)
@@ -47,6 +47,7 @@ typedef enum {
 
 typedef enum {
        ESL_EVENT_CUSTOM,
+       ESL_EVENT_CLONE,
        ESL_EVENT_CHANNEL_CREATE,
        ESL_EVENT_CHANNEL_DESTROY,
        ESL_EVENT_CHANNEL_STATE,
index 4a493b5a1c7128fe0a1596ff468426441207609e..87a193913f71a72ea8450907261f02938b97a1c0 100644 (file)
@@ -1160,6 +1160,7 @@ typedef uint32_t switch_io_flag_t;
  */
 typedef enum {
        SWITCH_EVENT_CUSTOM,
+       SWITCH_EVENT_CLONE,
        SWITCH_EVENT_CHANNEL_CREATE,
        SWITCH_EVENT_CHANNEL_DESTROY,
        SWITCH_EVENT_CHANNEL_STATE,
index e6e3bac5c69497cd0e9daf7fe7a7455a8f7c5bce..f853145fec87ae582b1973ba5f62807217ba4519 100644 (file)
@@ -111,6 +111,7 @@ static char *my_dup(const char *s)
 */
 static char *EVENT_NAMES[] = {
        "CUSTOM",
+       "CLONE",
        "CHANNEL_CREATE",
        "CHANNEL_DESTROY",
        "CHANNEL_STATE",
@@ -598,7 +599,7 @@ SWITCH_DECLARE(switch_status_t) switch_event_create_subclass_detailed(const char
 
        *event = NULL;
 
-       if ((event_id > 0 && event_id != SWITCH_EVENT_CUSTOM) && subclass_name) {
+       if ((event_id != SWITCH_EVENT_CLONE && event_id != SWITCH_EVENT_CUSTOM) && subclass_name) {
                return SWITCH_STATUS_GENERR;
        }
 
@@ -611,7 +612,7 @@ SWITCH_DECLARE(switch_status_t) switch_event_create_subclass_detailed(const char
 
        memset(*event, 0, sizeof(switch_event_t));
 
-       if (event_id) {
+       if (event_id != SWITCH_EVENT_CLONE) {
                (*event)->event_id = event_id;
                switch_event_prep_for_delivery_detailed(file, func, line, *event);
        }
@@ -813,7 +814,7 @@ SWITCH_DECLARE(switch_status_t) switch_event_dup(switch_event_t **event, switch_
 {
        switch_event_header_t *hp;
 
-       if (switch_event_create_subclass(event, 0, todup->subclass_name) != SWITCH_STATUS_SUCCESS) {
+       if (switch_event_create_subclass(event, SWITCH_EVENT_CLONE, todup->subclass_name) != SWITCH_STATUS_SUCCESS) {
                return SWITCH_STATUS_GENERR;
        }