void linphone_event_set_publish_state(LinphoneEvent *lev, LinphonePublishState state){ LinphoneCore *lc=lev->lc; if (lev->publish_state!=state){ ms_message("LinphoneEvent [%p] moving to publish state %s",lev,linphone_publish_state_to_string(state)); lev->publish_state=state; if (lc->vtable.publish_state_changed){ lc->vtable.publish_state_changed(lev->lc,lev,state); } switch(state){ case LinphonePublishCleared: linphone_event_unref(lev); break; case LinphonePublishOk: case LinphonePublishError: if (lev->expires==-1) linphone_event_unref(lev); break; case LinphonePublishNone: case LinphonePublishProgress: case LinphonePublishExpiring: /*nothing special to do*/ break; } } }
void linphone_event_set_publish_state(LinphoneEvent *lev, LinphonePublishState state){ LinphoneCore *lc=lev->lc; if (lev->publish_state!=state){ ms_message("LinphoneEvent [%p] moving to publish state %s",lev,linphone_publish_state_to_string(state)); lev->publish_state=state; if (lc->vtable.publish_state_changed){ lc->vtable.publish_state_changed(lev->lc,lev,state); } } }
void linphone_publish_state_changed(LinphoneCore *lc, LinphoneEvent *ev, LinphonePublishState state){ stats* counters = get_stats(lc); const LinphoneAddress* from_addr = linphone_event_get_from(ev); char* from = linphone_address_as_string(from_addr); ms_message("Publish state [%s] from [%s]",linphone_publish_state_to_string(state),from); ms_free(from); switch(state){ case LinphonePublishProgress: counters->number_of_LinphonePublishProgress++; break; case LinphonePublishOk: /*make sure custom header access API is working*/ BC_ASSERT_PTR_NOT_NULL(linphone_event_get_custom_header(ev,"From")); counters->number_of_LinphonePublishOk++; break; case LinphonePublishError: counters->number_of_LinphonePublishError++; break; case LinphonePublishExpiring: counters->number_of_LinphonePublishExpiring++; break; case LinphonePublishCleared: counters->number_of_LinphonePublishCleared++;break; default: break; } }