aboutsummaryrefslogtreecommitdiff
path: root/src/messenger/gnunet-service-messenger_member_session.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/messenger/gnunet-service-messenger_member_session.h')
-rw-r--r--src/messenger/gnunet-service-messenger_member_session.h40
1 files changed, 23 insertions, 17 deletions
diff --git a/src/messenger/gnunet-service-messenger_member_session.h b/src/messenger/gnunet-service-messenger_member_session.h
index 9b4065d05..8a4143058 100644
--- a/src/messenger/gnunet-service-messenger_member_session.h
+++ b/src/messenger/gnunet-service-messenger_member_session.h
@@ -1,6 +1,6 @@
1/* 1/*
2 This file is part of GNUnet. 2 This file is part of GNUnet.
3 Copyright (C) 2021 GNUnet e.V. 3 Copyright (C) 2021, 2023 GNUnet e.V.
4 4
5 GNUnet is free software: you can redistribute it and/or modify it 5 GNUnet is free software: you can redistribute it and/or modify it
6 under the terms of the GNU Affero General Public License as published 6 under the terms of the GNU Affero General Public License as published
@@ -35,7 +35,8 @@
35 35
36#include "messenger_api_contact.h" 36#include "messenger_api_contact.h"
37 37
38struct GNUNET_MESSENGER_MemberSession { 38struct GNUNET_MESSENGER_MemberSession
39{
39 struct GNUNET_MESSENGER_Member *member; 40 struct GNUNET_MESSENGER_Member *member;
40 41
41 struct GNUNET_IDENTITY_PublicKey public_key; 42 struct GNUNET_IDENTITY_PublicKey public_key;
@@ -46,8 +47,8 @@ struct GNUNET_MESSENGER_MemberSession {
46 struct GNUNET_CONTAINER_MultiHashMap *history; 47 struct GNUNET_CONTAINER_MultiHashMap *history;
47 struct GNUNET_MESSENGER_ListMessages messages; 48 struct GNUNET_MESSENGER_ListMessages messages;
48 49
49 struct GNUNET_MESSENGER_MemberSession* prev; 50 struct GNUNET_MESSENGER_MemberSession *prev;
50 struct GNUNET_MESSENGER_MemberSession* next; 51 struct GNUNET_MESSENGER_MemberSession *next;
51 52
52 struct GNUNET_TIME_Absolute start; 53 struct GNUNET_TIME_Absolute start;
53 54
@@ -92,7 +93,7 @@ switch_member_session (struct GNUNET_MESSENGER_MemberSession *session,
92 * @param[in,out] session Member session 93 * @param[in,out] session Member session
93 */ 94 */
94void 95void
95destroy_member_session(struct GNUNET_MESSENGER_MemberSession* session); 96destroy_member_session (struct GNUNET_MESSENGER_MemberSession *session);
96 97
97/** 98/**
98 * Resets a given member <i>session</i> which re-opens a member 99 * Resets a given member <i>session</i> which re-opens a member
@@ -105,7 +106,7 @@ destroy_member_session(struct GNUNET_MESSENGER_MemberSession* session);
105 * @return #GNUNET_OK on success, #GNUNET_SYSERR otherwise 106 * @return #GNUNET_OK on success, #GNUNET_SYSERR otherwise
106 */ 107 */
107int 108int
108reset_member_session (struct GNUNET_MESSENGER_MemberSession* session, 109reset_member_session (struct GNUNET_MESSENGER_MemberSession *session,
109 const struct GNUNET_HashCode *hash); 110 const struct GNUNET_HashCode *hash);
110 111
111/** 112/**
@@ -118,7 +119,7 @@ reset_member_session (struct GNUNET_MESSENGER_MemberSession* session,
118 * @param[in,out] session Member session 119 * @param[in,out] session Member session
119 */ 120 */
120void 121void
121close_member_session (struct GNUNET_MESSENGER_MemberSession* session); 122close_member_session (struct GNUNET_MESSENGER_MemberSession *session);
122 123
123/** 124/**
124 * Returns if the given member <i>session</i> has been closed. 125 * Returns if the given member <i>session</i> has been closed.
@@ -127,7 +128,7 @@ close_member_session (struct GNUNET_MESSENGER_MemberSession* session);
127 * @return #GNUNET_YES or #GNUNET_NO 128 * @return #GNUNET_YES or #GNUNET_NO
128 */ 129 */
129int 130int
130is_member_session_closed (const struct GNUNET_MESSENGER_MemberSession* session); 131is_member_session_closed (const struct GNUNET_MESSENGER_MemberSession *session);
131 132
132/** 133/**
133 * Returns if the given member <i>session</i> has been completed. 134 * Returns if the given member <i>session</i> has been completed.
@@ -139,7 +140,8 @@ is_member_session_closed (const struct GNUNET_MESSENGER_MemberSession* session);
139 * @return #GNUNET_YES or #GNUNET_NO 140 * @return #GNUNET_YES or #GNUNET_NO
140 */ 141 */
141int 142int
142is_member_session_completed (const struct GNUNET_MESSENGER_MemberSession* session); 143is_member_session_completed (const struct
144 GNUNET_MESSENGER_MemberSession *session);
143 145
144/** 146/**
145 * Returns the timestamp of the member <i>session</i>'s start. 147 * Returns the timestamp of the member <i>session</i>'s start.
@@ -148,7 +150,7 @@ is_member_session_completed (const struct GNUNET_MESSENGER_MemberSession* sessio
148 * @return Absolute timestamp 150 * @return Absolute timestamp
149 */ 151 */
150struct GNUNET_TIME_Absolute 152struct GNUNET_TIME_Absolute
151get_member_session_start (const struct GNUNET_MESSENGER_MemberSession* session); 153get_member_session_start (const struct GNUNET_MESSENGER_MemberSession *session);
152 154
153/** 155/**
154 * Returns the key of the room a given member <i>session</i> belongs to. 156 * Returns the key of the room a given member <i>session</i> belongs to.
@@ -157,7 +159,7 @@ get_member_session_start (const struct GNUNET_MESSENGER_MemberSession* session);
157 * @return Key of room 159 * @return Key of room
158 */ 160 */
159const struct GNUNET_HashCode* 161const struct GNUNET_HashCode*
160get_member_session_key (const struct GNUNET_MESSENGER_MemberSession* session); 162get_member_session_key (const struct GNUNET_MESSENGER_MemberSession *session);
161 163
162/** 164/**
163 * Returns the member id of a given member <i>session</i>. 165 * Returns the member id of a given member <i>session</i>.
@@ -166,7 +168,7 @@ get_member_session_key (const struct GNUNET_MESSENGER_MemberSession* session);
166 * @return Member id 168 * @return Member id
167 */ 169 */
168const struct GNUNET_ShortHashCode* 170const struct GNUNET_ShortHashCode*
169get_member_session_id (const struct GNUNET_MESSENGER_MemberSession* session); 171get_member_session_id (const struct GNUNET_MESSENGER_MemberSession *session);
170 172
171/** 173/**
172 * Returns the public key from an EGO of a given member <i>session</i>. 174 * Returns the public key from an EGO of a given member <i>session</i>.
@@ -175,7 +177,8 @@ get_member_session_id (const struct GNUNET_MESSENGER_MemberSession* session);
175 * @return Public key of EGO 177 * @return Public key of EGO
176 */ 178 */
177const struct GNUNET_IDENTITY_PublicKey* 179const struct GNUNET_IDENTITY_PublicKey*
178get_member_session_public_key (const struct GNUNET_MESSENGER_MemberSession* session); 180get_member_session_public_key (const struct
181 GNUNET_MESSENGER_MemberSession *session);
179 182
180/** 183/**
181 * Returns the member context of a given member <i>session</i>. 184 * Returns the member context of a given member <i>session</i>.
@@ -184,7 +187,8 @@ get_member_session_public_key (const struct GNUNET_MESSENGER_MemberSession* sess
184 * @return Member context as hash 187 * @return Member context as hash
185 */ 188 */
186const struct GNUNET_HashCode* 189const struct GNUNET_HashCode*
187get_member_session_context (const struct GNUNET_MESSENGER_MemberSession* session); 190get_member_session_context (const struct
191 GNUNET_MESSENGER_MemberSession *session);
188 192
189/** 193/**
190 * Returns the contact which is connected to a given member <i>session</i>. 194 * Returns the contact which is connected to a given member <i>session</i>.
@@ -193,7 +197,7 @@ get_member_session_context (const struct GNUNET_MESSENGER_MemberSession* session
193 * @return Contact 197 * @return Contact
194 */ 198 */
195struct GNUNET_MESSENGER_Contact* 199struct GNUNET_MESSENGER_Contact*
196get_member_session_contact (struct GNUNET_MESSENGER_MemberSession* session); 200get_member_session_contact (struct GNUNET_MESSENGER_MemberSession *session);
197 201
198/** 202/**
199 * Verifies a given member <i>session</i> as sender of a selected <i>message</i> and 203 * Verifies a given member <i>session</i> as sender of a selected <i>message</i> and
@@ -208,7 +212,8 @@ get_member_session_contact (struct GNUNET_MESSENGER_MemberSession* session);
208 * @return #GNUNET_OK on success, otherwise #GNUNET_SYSERR 212 * @return #GNUNET_OK on success, otherwise #GNUNET_SYSERR
209 */ 213 */
210int 214int
211verify_member_session_as_sender (const struct GNUNET_MESSENGER_MemberSession *session, 215verify_member_session_as_sender (const struct
216 GNUNET_MESSENGER_MemberSession *session,
212 const struct GNUNET_MESSENGER_Message *message, 217 const struct GNUNET_MESSENGER_Message *message,
213 const struct GNUNET_HashCode *hash); 218 const struct GNUNET_HashCode *hash);
214 219
@@ -223,7 +228,8 @@ verify_member_session_as_sender (const struct GNUNET_MESSENGER_MemberSession *se
223 * @return #GNUNET_YES if found, otherwise #GNUNET_NO 228 * @return #GNUNET_YES if found, otherwise #GNUNET_NO
224 */ 229 */
225int 230int
226check_member_session_history (const struct GNUNET_MESSENGER_MemberSession *session, 231check_member_session_history (const struct
232 GNUNET_MESSENGER_MemberSession *session,
227 const struct GNUNET_HashCode *hash, 233 const struct GNUNET_HashCode *hash,
228 int ownership); 234 int ownership);
229 235