本文整理汇总了C++中prop_unsubscribe函数的典型用法代码示例。如果您正苦于以下问题:C++ prop_unsubscribe函数的具体用法?C++ prop_unsubscribe怎么用?C++ prop_unsubscribe使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了prop_unsubscribe函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: nav_reload_current
static void
nav_reload_current(navigator_t *nav)
{
nav_page_t *np;
if((np = nav->nav_page_current) == NULL)
return;
plugins_reload_dev_plugin();
TRACE(TRACE_INFO, "navigator", "Reloading %s", np->np_url);
prop_unsubscribe(np->np_close_sub);
prop_unsubscribe(np->np_direct_close_sub);
prop_destroy(np->np_prop_root);
nav_page_setup_prop(nav, np, NULL);
if(prop_set_parent(np->np_prop_root, nav->nav_prop_pages)) {
/* nav->nav_prop_pages is a zombie, this is an error */
abort();
}
nav_select(nav, np, NULL);
if(backend_open(np->np_prop_root, np->np_url))
nav_open_errorf(np->np_prop_root, _("No handler for URL"));
}
示例2: nav_close
static void
nav_close(nav_page_t *np, int with_prop)
{
navigator_t *nav = np->np_nav;
prop_unsubscribe(np->np_close_sub);
prop_unsubscribe(np->np_url_sub);
prop_unsubscribe(np->np_direct_close_sub);
if(nav->nav_page_current == np)
nav->nav_page_current = NULL;
if(np->np_inhistory)
nav_remove_from_history(nav, np);
TAILQ_REMOVE(&nav->nav_pages, np, np_global_link);
if(with_prop) {
prop_destroy(np->np_prop_root);
nav_update_cango(nav);
}
free(np->np_url);
free(np->np_view);
free(np);
}
示例3: mp_destroy
void
mp_destroy(media_pipe_t *mp)
{
hts_mutex_lock(&media_mutex);
LIST_REMOVE(mp, mp_global_link);
num_media_pipelines--;
hts_mutex_unlock(&media_mutex);
mp_unbecome_primary(mp);
assert(mp->mp_sub_currenttime != NULL);
hts_mutex_lock(&mp->mp_mutex);
prop_unsubscribe(mp->mp_sub_currenttime);
prop_unsubscribe(mp->mp_sub_eventsink);
#if ENABLE_MEDIA_SETTINGS
mp_settings_clear(mp);
#endif
mp_track_mgr_destroy(&mp->mp_audio_track_mgr);
mp_track_mgr_destroy(&mp->mp_subtitle_track_mgr);
hts_mutex_unlock(&mp->mp_mutex);
mp_release(mp);
}
示例4: dyn_menu_item_del
static void
dyn_menu_item_del(gtk_ui_t *gu, dyn_menu_t *dn, dyn_menu_item_t *dmi)
{
if(dmi->dmi_widget != NULL)
gtk_widget_destroy(dmi->dmi_widget);
free(dmi->dmi_title);
prop_unsubscribe(dmi->dmi_type_sub);
prop_unsubscribe(dmi->dmi_enabled_sub);
prop_unsubscribe(dmi->dmi_title_sub);
prop_unsubscribe(dmi->dmi_value_sub);
prop_ref_dec(dmi->dmi_prop);
}
示例5: toolbar_dtor
static void
toolbar_dtor(GtkObject *object, gpointer user_data)
{
toolbar_t *t = user_data;
prop_unsubscribe(t->sub_canGoBack);
prop_unsubscribe(t->sub_canGoFwd);
prop_unsubscribe(t->sub_canGoHome);
prop_unsubscribe(t->sub_parent);
prop_unsubscribe(t->sub_url);
free(t->parent_url);
free(t);
}
示例6: gnp_dtor
static void
gnp_dtor(GtkWidget *w, gu_nav_page_t *gnp)
{
if(gnp->gnp_gt->gt_page_current == gnp)
gnp->gnp_gt->gt_page_current = NULL;
prop_unsubscribe(gnp->gnp_sub_type);
prop_unsubscribe(gnp->gnp_sub_url);
LIST_REMOVE(gnp, gnp_link);
prop_ref_dec(gnp->gnp_prop);
free(gnp->gnp_url);
free(gnp);
}
示例7: nav_dtor_tracker
static void
nav_dtor_tracker(void *opaque, prop_event_t event, ...)
{
navigator_t *nav = opaque;
if(event != PROP_DESTROYED)
return;
prop_unsubscribe(nav->nav_eventsink);
prop_unsubscribe(nav->nav_dtor_tracker);
nav_close_all(nav, 0);
prop_courier_stop(nav->nav_pc);
free(nav);
}
示例8: popup_display
event_t *
popup_display(prop_t *p)
{
prop_courier_t *pc = prop_courier_create_waitable();
event_t *e = NULL;
prop_t *r = prop_create(p, "eventSink");
prop_sub_t *s = prop_subscribe(0,
PROP_TAG_CALLBACK, eventsink, &e,
PROP_TAG_ROOT, r,
PROP_TAG_COURIER, pc,
NULL);
/* Will show the popup */
if(prop_set_parent(p, prop_create(prop_get_global(), "popups"))) {
/* popuproot is a zombie, this is an error */
abort();
}
while(e == NULL)
prop_courier_wait_and_dispatch(pc);
prop_unsubscribe(s);
return e;
}
示例9: js_model_destroy
static void
js_model_destroy(js_model_t *jm)
{
if(jm->jm_args)
strvec_free(jm->jm_args);
prop_unsubscribe(jm->jm_eventsub);
if(jm->jm_root) prop_ref_dec(jm->jm_root);
if(jm->jm_loading) prop_ref_dec(jm->jm_loading);
if(jm->jm_nodes) prop_ref_dec(jm->jm_nodes);
if(jm->jm_actions) prop_ref_dec(jm->jm_actions);
if(jm->jm_type) prop_ref_dec(jm->jm_type);
if(jm->jm_error) prop_ref_dec(jm->jm_error);
if(jm->jm_contents) prop_ref_dec(jm->jm_contents);
if(jm->jm_entries) prop_ref_dec(jm->jm_entries);
if(jm->jm_source) prop_ref_dec(jm->jm_source);
if(jm->jm_metadata) prop_ref_dec(jm->jm_metadata);
if(jm->jm_options) prop_ref_dec(jm->jm_options);
if(jm->jm_eventsink) prop_ref_dec(jm->jm_eventsink);
if(jm->jm_pc != NULL)
prop_courier_destroy(jm->jm_pc);
free(jm->jm_url);
free(jm);
}
示例10: video_destroy
static void
video_destroy(GtkWidget *w, gu_video_t *gv)
{
prop_unsubscribe(gv->gv_status_sub);
prop_ref_dec(gv->gv_closeprop);
free(gv);
}
示例11: js_model_destroy
static void
js_model_destroy(js_model_t *jm)
{
assert(TAILQ_FIRST(&jm->jm_items) == NULL);
if(jm->jm_args)
strvec_free(jm->jm_args);
prop_unsubscribe(jm->jm_eventsub);
if(jm->jm_root) prop_ref_dec(jm->jm_root);
if(jm->jm_loading) prop_ref_dec(jm->jm_loading);
if(jm->jm_nodes) prop_ref_dec(jm->jm_nodes);
if(jm->jm_actions) prop_ref_dec(jm->jm_actions);
if(jm->jm_type) prop_ref_dec(jm->jm_type);
if(jm->jm_error) prop_ref_dec(jm->jm_error);
if(jm->jm_contents) prop_ref_dec(jm->jm_contents);
if(jm->jm_entries) prop_ref_dec(jm->jm_entries);
if(jm->jm_source) prop_ref_dec(jm->jm_source);
if(jm->jm_metadata) prop_ref_dec(jm->jm_metadata);
if(jm->jm_options) prop_ref_dec(jm->jm_options);
if(jm->jm_eventsink) prop_ref_dec(jm->jm_eventsink);
if(jm->jm_pc != NULL)
prop_courier_destroy(jm->jm_pc);
free(jm->jm_url);
hts_mutex_lock(&js_model_mutex);
LIST_REMOVE(jm, jm_link);
hts_mutex_unlock(&js_model_mutex);
free(jm);
}
示例12: js_item_eventsub
static void
js_item_eventsub(void *opaque, prop_event_t event, ...)
{
js_item_t *ji = opaque;
va_list ap;
va_start(ap, event);
switch(event) {
default:
break;
case PROP_DESTROYED:
js_event_destroy_handlers(ji->ji_model->jm_cx, &ji->ji_event_handlers);
prop_unsubscribe(ji->ji_eventsub);
ji->ji_eventsub = NULL;
ji->ji_model->jm_subs--;
JS_RemoveRoot(ji->ji_model->jm_cx, &ji->ji_this);
prop_tag_clear(ji->ji_root, ji->ji_model);
break;
case PROP_EXT_EVENT:
js_event_dispatch(ji->ji_model->jm_cx, &ji->ji_event_handlers,
va_arg(ap, event_t *), JSVAL_TO_OBJECT(ji->ji_this));
break;
}
va_end(ap);
}
示例13: ab_destroy
static void
ab_destroy(GtkObject *object, gpointer user_data)
{
albumbrowse_t *ab = user_data;
prop_unsubscribe(ab->sub);
free(ab);
}
示例14: notifications_dtor
static void
notifications_dtor(GtkObject *object, gpointer user_data)
{
statusbar_t *sb = user_data;
prop_unsubscribe(sb->sub);
free(sb);
}
示例15: dyn_menu_destroyed
static void
dyn_menu_destroyed(GtkObject *object, gpointer user_data)
{
dyn_menu_t *dm = user_data;
prop_unsubscribe(dm->dm_node_sub);
gu_cloner_destroy(&dm->dm_nodes);
free(dm);
}