当前位置: 首页>>代码示例>>C++>>正文


C++ prop_unsubscribe函数代码示例

本文整理汇总了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"));
}
开发者ID:CrashSerious,项目名称:showtime,代码行数:27,代码来源:navigator.c

示例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);
}
开发者ID:MatChung,项目名称:showtime,代码行数:25,代码来源:navigator.c

示例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);

}
开发者ID:RuralHunter,项目名称:showtime,代码行数:29,代码来源:media.c

示例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);
}
开发者ID:Allba,项目名称:showtime,代码行数:13,代码来源:gu_toolbar.c

示例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);
}
开发者ID:Allba,项目名称:showtime,代码行数:13,代码来源:gu_toolbar.c

示例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);
}
开发者ID:hean01,项目名称:showtime,代码行数:15,代码来源:gu_pages.c

示例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);
}
开发者ID:CrashSerious,项目名称:showtime,代码行数:16,代码来源:navigator.c

示例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;
}
开发者ID:Sinster,项目名称:showtime,代码行数:25,代码来源:notifications.c

示例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);
}
开发者ID:Allba,项目名称:showtime,代码行数:26,代码来源:js_page.c

示例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);
}
开发者ID:Allba,项目名称:showtime,代码行数:7,代码来源:gu_video.c

示例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);
}
开发者ID:Bibamaru,项目名称:showtime,代码行数:31,代码来源:js_page.c

示例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);
}
开发者ID:Bibamaru,项目名称:showtime,代码行数:28,代码来源:js_page.c

示例13: ab_destroy

static void
ab_destroy(GtkObject *object, gpointer user_data)
{
  albumbrowse_t *ab = user_data;

  prop_unsubscribe(ab->sub);
  free(ab);
}
开发者ID:Allba,项目名称:showtime,代码行数:8,代码来源:gu_directory_albumcollection.c

示例14: notifications_dtor

static void
notifications_dtor(GtkObject *object, gpointer user_data)
{
  statusbar_t *sb = user_data;

  prop_unsubscribe(sb->sub);
  free(sb);
}
开发者ID:Bibamaru,项目名称:showtime,代码行数:8,代码来源:gu_statusbar.c

示例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);
}
开发者ID:Allba,项目名称:showtime,代码行数:8,代码来源:gu_toolbar.c


注:本文中的prop_unsubscribe函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。