|
Blender V4.3
|
#include <cstring>#include "CLG_log.h"#include "MEM_guardedalloc.h"#include "BLI_listbase.h"#include "BLI_utildefines.h"#include "BLI_ghash.h"#include "WM_types.hh"#include "message_bus/intern/wm_message_bus_intern.hh"#include "message_bus/wm_message_bus.hh"Go to the source code of this file.
Functions | |
Internal API | |
| |
| void | wm_msg_subscribe_value_free (wmMsgSubscribeKey *msg_key, wmMsgSubscribeValueLink *msg_lnk) |
Public API | |
| using | wmMsgTypeInitFn = void (*)(wmMsgTypeInfo *) |
| static wmMsgTypeInfo | wm_msg_types [WM_MSG_TYPE_NUM] = {{{nullptr}}} |
| static wmMsgTypeInitFn | wm_msg_init_fn [WM_MSG_TYPE_NUM] |
| void | WM_msgbus_types_init () |
| wmMsgBus * | WM_msgbus_create () |
| void | WM_msgbus_destroy (wmMsgBus *mbus) |
| void | WM_msgbus_clear_by_owner (wmMsgBus *mbus, void *owner) |
| void | WM_msg_dump (wmMsgBus *mbus, const char *info_str) |
| void | WM_msgbus_handle (wmMsgBus *mbus, bContext *C) |
| wmMsgSubscribeKey * | WM_msg_subscribe_with_key (wmMsgBus *mbus, const wmMsgSubscribeKey *msg_key_test, const wmMsgSubscribeValue *msg_val_params) |
| void | WM_msg_publish_with_key (wmMsgBus *mbus, wmMsgSubscribeKey *msg_key) |
| void | WM_msg_id_update (wmMsgBus *mbus, ID *id_src, ID *id_dst) |
| void | WM_msg_id_remove (wmMsgBus *mbus, const ID *id) |
| using wmMsgTypeInitFn = void (*)(wmMsgTypeInfo *) |
Definition at line 31 of file wm_message_bus.cc.
| void WM_msg_dump | ( | wmMsgBus * | mbus, |
| const char * | info_str ) |
Definition at line 104 of file wm_message_bus.cc.
References LISTBASE_FOREACH, wmMsgBus::messages, printf, wmMsgTypeInfo::repr, wmMsg::type, wm_msg_subscribe_value_msg_cast(), and wm_msg_types.
Referenced by bpy_msgbus_subscribe_rna(), and WM_msgbus_handle().
Definition at line 209 of file wm_message_bus.cc.
References wmMsgTypeInfo::remove_by_id, WM_MSG_TYPE_NUM, and wm_msg_types.
Referenced by WM_main_remap_editor_id_reference(), and WM_main_remove_notifier_reference().
Definition at line 199 of file wm_message_bus.cc.
References wmMsgTypeInfo::update_by_id, WM_MSG_TYPE_NUM, and wm_msg_types.
Referenced by WM_main_remap_editor_id_reference().
| void WM_msg_publish_with_key | ( | wmMsgBus * | mbus, |
| wmMsgSubscribeKey * | msg_key ) |
Definition at line 178 of file wm_message_bus.cc.
References BLI_listbase_count(), CLOG_INFO, LISTBASE_FOREACH, wmMsgBus::messages_tag_count, wmMsgSubscribeKey::values, and WM_LOG_MSGBUS_SUB.
Referenced by WM_msg_publish_rna_params(), and WM_msg_publish_static_params().
| void wm_msg_subscribe_value_free | ( | wmMsgSubscribeKey * | msg_key, |
| wmMsgSubscribeValueLink * | msg_lnk ) |
Definition at line 227 of file wm_message_bus.cc.
References BLI_remlink(), wmMsgSubscribeValue::free_data, MEM_freeN(), wmMsgSubscribeValueLink::params, and wmMsgSubscribeKey::values.
Referenced by wm_msg_rna_gset_key_free(), wm_msg_rna_remove_by_id(), and wm_msg_rna_update_by_id().
| wmMsgSubscribeKey * WM_msg_subscribe_with_key | ( | wmMsgBus * | mbus, |
| const wmMsgSubscribeKey * | msg_key_test, | ||
| const wmMsgSubscribeValue * | msg_val_params ) |
| msg_key_test | Needs following wmMsgSubscribeKey fields filled in:
|
Definition at line 143 of file wm_message_bus.cc.
References BLI_addtail(), BLI_assert, BLI_gset_ensure_p_ex(), LISTBASE_FOREACH, MEM_mallocN, wmMsgBus::messages, wmMsgBus::messages_gset, wmMsgTypeInfo::msg_key_size, wmMsgSubscribeValue::notify, wmMsgSubscribeValue::owner, wmMsgSubscribeValueLink::params, wmMsg::type, wmMsgSubscribeValue::user_data, wmMsgSubscribeKey::values, wm_msg_subscribe_value_msg_cast(), and wm_msg_types.
Referenced by WM_msg_subscribe_rna_params(), and WM_msg_subscribe_static_params().
| void WM_msgbus_clear_by_owner | ( | wmMsgBus * | mbus, |
| void * | owner ) |
Definition at line 66 of file wm_message_bus.cc.
References BLI_assert, BLI_gset_remove(), BLI_listbase_is_empty(), BLI_remlink(), ListBase::first, wmMsgTypeInfo::gset, wmMsgTypeInfo::key_free_fn, MEM_freeN(), wmMsgBus::messages, wmMsgBus::messages_gset, wmMsgBus::messages_tag_count, wmMsgSubscribeKey::next, wmMsgSubscribeValueLink::next, wmMsg::type, UNUSED_VARS_NDEBUG, wmMsgSubscribeKey::values, wm_msg_subscribe_value_msg_cast(), and wm_msg_types.
Referenced by area_offscreen_exit(), bpy_msgbus_clear_by_owner(), ED_region_do_draw(), and ED_region_exit().
| wmMsgBus * WM_msgbus_create | ( | ) |
Definition at line 45 of file wm_message_bus.cc.
References BLI_gset_new_ex(), wmMsgTypeInfo::cmp_fn, wmMsgTypeInfo::gset, wmMsgTypeInfo::hash_fn, MEM_callocN, wmMsgBus::messages_gset, WM_MSG_TYPE_NUM, and wm_msg_types.
Referenced by WM_check().
| void WM_msgbus_destroy | ( | wmMsgBus * | mbus | ) |
Definition at line 57 of file wm_message_bus.cc.
References BLI_gset_free(), wmMsgTypeInfo::gset, wmMsgTypeInfo::key_free_fn, MEM_freeN(), wmMsgBus::messages_gset, WM_MSG_TYPE_NUM, and wm_msg_types.
Referenced by wm_close_and_free(), and wm_file_read_setup_wm_init().
Definition at line 115 of file wm_message_bus.cc.
References BLI_assert, LISTBASE_FOREACH, wmMsgBus::messages, wmMsgBus::messages_tag_count, and WM_msg_dump().
Referenced by wm_event_do_notifiers().
| void WM_msgbus_types_init | ( | ) |
Definition at line 38 of file wm_message_bus.cc.
References wm_msg_init_fn, WM_MSG_TYPE_NUM, and wm_msg_types.
Referenced by WM_init().
|
static |
Definition at line 33 of file wm_message_bus.cc.
Referenced by WM_msgbus_types_init().
|
static |
Definition at line 29 of file wm_message_bus.cc.
Referenced by WM_msg_dump(), WM_msg_id_remove(), WM_msg_id_update(), WM_msg_subscribe_with_key(), WM_msgbus_clear_by_owner(), WM_msgbus_create(), WM_msgbus_destroy(), and WM_msgbus_types_init().