31 size_t y = (size_t)key >> (
sizeof(
void *));
32 return (
unsigned int)
y;
59 msg_lnk = msg_lnk_next) {
60 msg_lnk_next = msg_lnk->
next;
72 const char *
none =
"<none>";
76 "%s.%s values_len=%d\n",
100 msg_lnk = msg_lnk_next) {
101 msg_lnk_next = msg_lnk->next;
102 if (msg_lnk->params.is_persistent ==
false) {
103 if (msg_lnk->params.tag) {
137 msg_lnk = msg_lnk_next) {
138 msg_lnk_next = msg_lnk->next;
139 if (msg_lnk->params.is_persistent ==
false) {
140 if (msg_lnk->params.tag) {
172 msg_lnk = msg_lnk_next) {
173 msg_lnk_next = msg_lnk->next;
174 if (msg_lnk->params.tag) {
218 const char *
none =
"<none>";
221 "rna(id='%s', %s.%s)",
237 if (msg_key_params_anon.
prop !=
NULL) {
243 msg_key_params_anon.
prop = msg_key_params->
prop;
253 if (msg_key_params->
prop) {
282 msg_key_test.
msg.
params = *msg_key_params;
284 const char *
none =
"<none>";
287 "rna(id='%s', %s.%s, info='%s')",
295 mbus, &msg_key_test.
head, msg_val_params);
bool BLI_gset_haskey(const GSet *gs, const void *key) ATTR_WARN_UNUSED_RESULT
BLI_INLINE bool BLI_gsetIterator_done(const GSetIterator *gsi)
void * BLI_gset_lookup(const GSet *gs, const void *key) ATTR_WARN_UNUSED_RESULT
BLI_INLINE void BLI_gsetIterator_init(GSetIterator *gsi, GSet *gs)
BLI_INLINE void BLI_gsetIterator_step(GSetIterator *gsi)
BLI_INLINE void * BLI_gsetIterator_getKey(GSetIterator *gsi)
bool BLI_gset_add(GSet *gs, void *key)
bool BLI_gset_remove(GSet *gs, const void *key, GSetKeyFreeFP keyfreefp)
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
int BLI_listbase_count(const struct ListBase *listbase) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
#define CLOG_INFO(clg_ref, level,...)
ID and Library types, which are fundamental for sdna.
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
Read Guarded memory(de)allocation.
struct CLG_LogRef * WM_LOG_MSGBUS_SUB
struct CLG_LogRef * WM_LOG_MSGBUS_PUB
__forceinline bool none(const avxb &b)
void(* MEM_freeN)(void *vmemh)
bool remove(void *owner, const AttributeIDRef &attribute_id)
const char * RNA_struct_identifier(const StructRNA *type)
void RNA_id_pointer_create(ID *id, PointerRNA *r_ptr)
const char * RNA_property_identifier(const PropertyRNA *prop)
char * RNA_path_from_ID_to_struct(const PointerRNA *ptr)
bool RNA_path_resolve(const PointerRNA *ptr, const char *path, PointerRNA *r_ptr, PropertyRNA **r_prop)
struct GSet * messages_gset[WM_MSG_TYPE_NUM]
struct wmMsgSubscribeValueLink * next
void(* remove_by_id)(struct wmMsgBus *mbus, const struct ID *id)
void(* update_by_id)(struct wmMsgBus *mbus, struct ID *id_src, struct ID *id_dst)
void(* repr)(FILE *stream, const struct wmMsgSubscribeKey *msg_key)
struct wmMsgTypeInfo::@1202 gset
unsigned int(* hash_fn)(const void *msg)
void(* key_free_fn)(void *key)
bool(* cmp_fn)(const void *a, const void *b)
void WM_msg_publish_with_key(struct wmMsgBus *mbus, wmMsgSubscribeKey *msg_key)
wmMsgSubscribeKey * WM_msg_subscribe_with_key(struct wmMsgBus *mbus, const wmMsgSubscribeKey *msg_key_test, const wmMsgSubscribeValue *msg_val_params)
void wm_msg_subscribe_value_free(wmMsgSubscribeKey *msg_key, wmMsgSubscribeValueLink *msg_lnk)
struct wmMsgSubscribeKey_RNA wmMsgSubscribeKey_RNA
void WM_msg_subscribe_rna_params(struct wmMsgBus *mbus, const wmMsgParams_RNA *msg_key_params, const wmMsgSubscribeValue *msg_val_params, const char *id_repr)
void WM_msg_publish_rna_params(struct wmMsgBus *mbus, const wmMsgParams_RNA *msg_key_params)
BLI_INLINE uint void_hash_uint(const void *key)
wmMsgSubscribeKey_RNA * WM_msg_lookup_rna(struct wmMsgBus *mbus, const wmMsgParams_RNA *msg_key_params)
void WM_msgtypeinfo_init_rna(wmMsgTypeInfo *msgtype_info)
static void wm_msg_rna_remove_by_id(struct wmMsgBus *mbus, const ID *id)
static void wm_msg_rna_repr(FILE *stream, const wmMsgSubscribeKey *msg_key)
static bool wm_msg_rna_gset_cmp(const void *key_a_p, const void *key_b_p)
void WM_msg_publish_rna(struct wmMsgBus *mbus, PointerRNA *ptr, PropertyRNA *prop)
void WM_msg_publish_ID(struct wmMsgBus *mbus, ID *id)
static void wm_msg_rna_update_by_id(struct wmMsgBus *mbus, ID *id_src, ID *id_dst)
static void wm_msg_rna_gset_key_free(void *key_p)
static uint wm_msg_rna_gset_hash(const void *key_p)
void WM_msg_subscribe_rna(struct wmMsgBus *mbus, PointerRNA *ptr, const PropertyRNA *prop, const wmMsgSubscribeValue *msg_val_params, const char *id_repr)
void WM_msg_subscribe_ID(struct wmMsgBus *mbus, ID *id, const wmMsgSubscribeValue *msg_val_params, const char *id_repr)