From 1c55177e3449c9e25d3d469a27395680e988e055 Mon Sep 17 00:00:00 2001 From: TheJackiMonster Date: Sun, 10 Apr 2022 18:41:16 +0200 Subject: Added how-to document and adjusted member user pointer to rely on groups Signed-off-by: TheJackiMonster --- src/gnunet_chat_lib.c | 82 +++++++++++++++++++++++++-------------------------- 1 file changed, 41 insertions(+), 41 deletions(-) (limited to 'src/gnunet_chat_lib.c') diff --git a/src/gnunet_chat_lib.c b/src/gnunet_chat_lib.c index 35de7dc..0fe9c57 100644 --- a/src/gnunet_chat_lib.c +++ b/src/gnunet_chat_lib.c @@ -869,6 +869,47 @@ GNUNET_CHAT_group_iterate_contacts (const struct GNUNET_CHAT_Group *group, } +void +GNUNET_CHAT_member_set_user_pointer (struct GNUNET_CHAT_Group *group, + const struct GNUNET_CHAT_Contact *member, + void *user_pointer) +{ + GNUNET_CHAT_VERSION_ASSERT(); + + if ((!group) || (!(group->context)) || (!member)) + return; + + struct GNUNET_ShortHashCode hash; + util_shorthash_from_member(member->member, &hash); + + GNUNET_CONTAINER_multishortmap_put( + group->context->member_pointers, + &hash, + user_pointer, + GNUNET_CONTAINER_MULTIHASHMAPOPTION_REPLACE + ); +} + + +void* +GNUNET_CHAT_member_get_user_pointer (const struct GNUNET_CHAT_Group *group, + const struct GNUNET_CHAT_Contact *member) +{ + GNUNET_CHAT_VERSION_ASSERT(); + + if ((!group) || (!(group->context)) || (!member)) + return NULL; + + struct GNUNET_ShortHashCode hash; + util_shorthash_from_member(member->member, &hash); + + return GNUNET_CONTAINER_multishortmap_get( + group->context->member_pointers, + &hash + ); +} + + struct GNUNET_CHAT_Context* GNUNET_CHAT_group_get_context (struct GNUNET_CHAT_Group *group) { @@ -1260,47 +1301,6 @@ GNUNET_CHAT_context_iterate_files (struct GNUNET_CHAT_Context *context, } -void -GNUNET_CHAT_member_set_user_pointer (struct GNUNET_CHAT_Context *context, - const struct GNUNET_CHAT_Contact *member, - void *user_pointer) -{ - GNUNET_CHAT_VERSION_ASSERT(); - - if ((!context) || (!member)) - return; - - struct GNUNET_ShortHashCode hash; - util_shorthash_from_member(member->member, &hash); - - GNUNET_CONTAINER_multishortmap_put( - context->member_pointers, - &hash, - user_pointer, - GNUNET_CONTAINER_MULTIHASHMAPOPTION_REPLACE - ); -} - - -void* -GNUNET_CHAT_member_get_user_pointer (const struct GNUNET_CHAT_Context *context, - const struct GNUNET_CHAT_Contact *member) -{ - GNUNET_CHAT_VERSION_ASSERT(); - - if ((!context) || (!member)) - return NULL; - - struct GNUNET_ShortHashCode hash; - util_shorthash_from_member(member->member, &hash); - - return GNUNET_CONTAINER_multishortmap_get( - context->member_pointers, - &hash - ); -} - - enum GNUNET_CHAT_MessageKind GNUNET_CHAT_message_get_kind (const struct GNUNET_CHAT_Message *message) { -- cgit v1.2.3