diff options
author | Gabor X Toth <*@tg-x.net> | 2013-07-15 07:25:13 +0000 |
---|---|---|
committer | Gabor X Toth <*@tg-x.net> | 2013-07-15 07:25:13 +0000 |
commit | b9f677a21cc21b3554b68e74f16c5fac6358c97b (patch) | |
tree | ca88507d8ce3405c3418afd56fb2f0b32ff2e78c | |
parent | 87093621a5223dd1f0d48ded2c41821af7def6f7 (diff) | |
download | gnunet-b9f677a21cc21b3554b68e74f16c5fac6358c97b.tar.gz gnunet-b9f677a21cc21b3554b68e74f16c5fac6358c97b.zip |
PSYC/social: use an Environment for setting variables / state operations
-rw-r--r-- | src/include/gnunet_env_lib.h (renamed from src/include/gnunet_psyc_lib.h) | 120 | ||||
-rw-r--r-- | src/include/gnunet_psyc_service.h | 57 | ||||
-rw-r--r-- | src/include/gnunet_social_service.h | 45 |
3 files changed, 109 insertions, 113 deletions
diff --git a/src/include/gnunet_psyc_lib.h b/src/include/gnunet_env_lib.h index 50f346048..5ff5c22db 100644 --- a/src/include/gnunet_psyc_lib.h +++ b/src/include/gnunet_env_lib.h | |||
@@ -19,9 +19,9 @@ | |||
19 | */ | 19 | */ |
20 | 20 | ||
21 | /** | 21 | /** |
22 | * @file include/gnunet_psyc_lib.h | 22 | * @file include/gnunet_env_lib.h |
23 | * @brief Library for common PSYC functionality: | 23 | * @brief Library providing operations for the @e environment of PSYC and Social messages, |
24 | * types, variable (de)serialization. | 24 | * and for (de)serializing variable values. |
25 | * @author Gabor X Toth | 25 | * @author Gabor X Toth |
26 | */ | 26 | */ |
27 | 27 | ||
@@ -29,63 +29,63 @@ | |||
29 | /** | 29 | /** |
30 | * Possible operations on PSYC state (persistent) and transient variables (per message). | 30 | * Possible operations on PSYC state (persistent) and transient variables (per message). |
31 | */ | 31 | */ |
32 | enum GNUNET_PSYC_Operator | 32 | enum GNUNET_ENV_Operator |
33 | { | 33 | { |
34 | /** | 34 | /** |
35 | * Set value of a transient variable. | 35 | * Set value of a transient variable. |
36 | */ | 36 | */ |
37 | GNUNET_PSYC_OP_SET = ':', | 37 | GNUNET_ENV_OP_SET = ':', |
38 | 38 | ||
39 | /** | 39 | /** |
40 | * Assign value for a persistent state variable. | 40 | * Assign value for a persistent state variable. |
41 | * | 41 | * |
42 | * If an assigned value is NULL, the variable is deleted. | 42 | * If an assigned value is NULL, the variable is deleted. |
43 | */ | 43 | */ |
44 | GNUNET_PSYC_OP_ASSIGN = '=', | 44 | GNUNET_ENV_OP_ASSIGN = '=', |
45 | 45 | ||
46 | /** | 46 | /** |
47 | * Augment state variable. | 47 | * Augment state variable. |
48 | * | 48 | * |
49 | * Used for appending strings, adding numbers, and adding new items to a list or dictionary. | 49 | * Used for appending strings, adding numbers, and adding new items to a list or dictionary. |
50 | */ | 50 | */ |
51 | GNUNET_PSYC_OP_AUGMENT = '+', | 51 | GNUNET_ENV_OP_AUGMENT = '+', |
52 | 52 | ||
53 | /** | 53 | /** |
54 | * Diminish state variable. | 54 | * Diminish state variable. |
55 | * | 55 | * |
56 | * Used for subtracting numbers, and removing items from a list or dictionary. | 56 | * Used for subtracting numbers, and removing items from a list or dictionary. |
57 | */ | 57 | */ |
58 | GNUNET_PSYC_OP_DIMINISH = '-', | 58 | GNUNET_ENV_OP_DIMINISH = '-', |
59 | 59 | ||
60 | /** | 60 | /** |
61 | * Update state variable. | 61 | * Update state variable. |
62 | * | 62 | * |
63 | * Used for modifying a single item of a list or dictionary. | 63 | * Used for modifying a single item of a list or dictionary. |
64 | */ | 64 | */ |
65 | GNUNET_PSYC_OP_UPDATE = '@', | 65 | GNUNET_ENV_OP_UPDATE = '@', |
66 | }; | 66 | }; |
67 | 67 | ||
68 | 68 | ||
69 | /** | 69 | /** |
70 | * PSYC variable types. | 70 | * PSYC variable types. |
71 | */ | 71 | */ |
72 | enum GNUNET_PSYC_Type | 72 | enum GNUNET_ENV_Type |
73 | { | 73 | { |
74 | GNUNET_PSYC_TYPE_DATA = 0, | 74 | GNUNET_ENV_TYPE_DATA = 0, |
75 | GNUNET_PSYC_TYPE_NUMBER, | 75 | GNUNET_ENV_TYPE_NUMBER, |
76 | GNUNET_PSYC_TYPE_LIST, | 76 | GNUNET_ENV_TYPE_LIST, |
77 | GNUNET_PSYC_TYPE_DICT | 77 | GNUNET_ENV_TYPE_DICT |
78 | }; | 78 | }; |
79 | 79 | ||
80 | 80 | ||
81 | /** | 81 | /** |
82 | * PSYC state modifier. | 82 | * PSYC state modifier. |
83 | */ | 83 | */ |
84 | struct GNUNET_PSYC_Modifier { | 84 | struct GNUNET_ENV_Modifier { |
85 | /** | 85 | /** |
86 | * State operation. | 86 | * State operation. |
87 | */ | 87 | */ |
88 | GNUNET_PSYC_Operator oper; | 88 | GNUNET_ENV_Operator oper; |
89 | 89 | ||
90 | /** | 90 | /** |
91 | * Variable name. | 91 | * Variable name. |
@@ -104,6 +104,78 @@ struct GNUNET_PSYC_Modifier { | |||
104 | }; | 104 | }; |
105 | 105 | ||
106 | 106 | ||
107 | /** | ||
108 | * Environment for a message. | ||
109 | * | ||
110 | * Contains modifiers. | ||
111 | */ | ||
112 | struct GNUNET_ENV_Environment; | ||
113 | |||
114 | |||
115 | /** | ||
116 | * Create an environment. | ||
117 | * | ||
118 | * @return A newly allocated environment. | ||
119 | */ | ||
120 | struct GNUNET_ENV_Environment * | ||
121 | GNUNET_ENV_environment_create (); | ||
122 | |||
123 | |||
124 | /** | ||
125 | * Add an operation on a variable to the environment. | ||
126 | * | ||
127 | * @param env The environment. | ||
128 | * @param oper Operation to perform. | ||
129 | * @param name Name of the variable. | ||
130 | * @param value_size Size of @a value. | ||
131 | * @param value Value of the variable. | ||
132 | * | ||
133 | * @return #GNUNET_OK on success, #GNUNET_SYSERR on error. | ||
134 | */ | ||
135 | int | ||
136 | GNUNET_ENV_environment_operation (struct GNUNET_ENV_Environment *env, | ||
137 | enum GNUNET_ENV_Operator oper, | ||
138 | const char *name, | ||
139 | size_t value_size, const void *value); | ||
140 | |||
141 | |||
142 | /** | ||
143 | * Get all modifiers in the environment. | ||
144 | * | ||
145 | * @param env The environment. | ||
146 | * @param[out] modifiers_length Set to the number of returned modifiers. | ||
147 | * | ||
148 | * @return Array of modifiers. | ||
149 | */ | ||
150 | struct GNUNET_ENV_Modifier * | ||
151 | GNUNET_ENV_environment_get_modifiers (const struct GNUNET_ENV_Environment *env, | ||
152 | size_t *modifiers_length); | ||
153 | |||
154 | |||
155 | /** | ||
156 | * Add list of modifiers to the environment. | ||
157 | * | ||
158 | * @param env The environment. | ||
159 | * @param modifiers_length Number of @a modifiers. | ||
160 | * @param modifiers Array of modifiers to add. | ||
161 | * | ||
162 | * @return | ||
163 | */ | ||
164 | int | ||
165 | GNUNET_ENV_environment_set_modifiers (const struct GNUNET_ENV_Environment *env, | ||
166 | size_t modifiers_length, | ||
167 | const struct GNUNET_ENV_Modifier *modifiers); | ||
168 | |||
169 | |||
170 | /** | ||
171 | * Destroy an environment. | ||
172 | * | ||
173 | * @param env The environment to destroy. | ||
174 | */ | ||
175 | void | ||
176 | GNUNET_ENV_environment_destroy (struct GNUNET_ENV_Environment *env); | ||
177 | |||
178 | |||
107 | /** | 179 | /** |
108 | * Get the type of variable. | 180 | * Get the type of variable. |
109 | * | 181 | * |
@@ -111,8 +183,8 @@ struct GNUNET_PSYC_Modifier { | |||
111 | * | 183 | * |
112 | * @return Variable type. | 184 | * @return Variable type. |
113 | */ | 185 | */ |
114 | enum GNUNET_PSYC_Type | 186 | enum GNUNET_ENV_Type |
115 | GNUNET_PSYC_var_get_type (char *name); | 187 | GNUNET_ENV_var_get_type (char *name); |
116 | 188 | ||
117 | 189 | ||
118 | /** | 190 | /** |
@@ -125,7 +197,7 @@ GNUNET_PSYC_var_get_type (char *name); | |||
125 | * @return #GNUNET_OK on success, #GNUNET_SYSERR if an error occurred (e.g. the value is invalid). | 197 | * @return #GNUNET_OK on success, #GNUNET_SYSERR if an error occurred (e.g. the value is invalid). |
126 | */ | 198 | */ |
127 | int | 199 | int |
128 | GNUNET_PSYC_value_to_number (size_t size, const void *value, int64_t *number); | 200 | GNUNET_ENV_value_to_number (size_t size, const void *value, int64_t *number); |
129 | 201 | ||
130 | 202 | ||
131 | /** | 203 | /** |
@@ -138,7 +210,7 @@ GNUNET_PSYC_value_to_number (size_t size, const void *value, int64_t *number); | |||
138 | * @return #GNUNET_OK on success, #GNUNET_SYSERR if an error occurred (e.g. the value is invalid). | 210 | * @return #GNUNET_OK on success, #GNUNET_SYSERR if an error occurred (e.g. the value is invalid). |
139 | */ | 211 | */ |
140 | int | 212 | int |
141 | GNUNET_PSYC_value_to_list (size_t size, const void *value, GNUNET_CONTAINER_SList **list); | 213 | GNUNET_ENV_value_to_list (size_t size, const void *value, GNUNET_CONTAINER_SList **list); |
142 | 214 | ||
143 | 215 | ||
144 | /** | 216 | /** |
@@ -151,7 +223,7 @@ GNUNET_PSYC_value_to_list (size_t size, const void *value, GNUNET_CONTAINER_SLis | |||
151 | * @return #GNUNET_OK on success, #GNUNET_SYSERR if an error occurred (e.g. the value is invalid). | 223 | * @return #GNUNET_OK on success, #GNUNET_SYSERR if an error occurred (e.g. the value is invalid). |
152 | */ | 224 | */ |
153 | int | 225 | int |
154 | GNUNET_PSYC_value_to_dict (size_t size, const void *value, GNUNET_CONTAINER_MultiHashMap **dict); | 226 | GNUNET_ENV_value_to_dict (size_t size, const void *value, GNUNET_CONTAINER_MultiHashMap **dict); |
155 | 227 | ||
156 | 228 | ||
157 | /** | 229 | /** |
@@ -163,7 +235,7 @@ GNUNET_PSYC_value_to_dict (size_t size, const void *value, GNUNET_CONTAINER_Mult | |||
163 | * @return A newly allocated value or NULL on error. | 235 | * @return A newly allocated value or NULL on error. |
164 | */ | 236 | */ |
165 | void * | 237 | void * |
166 | GNUNET_PSYC_value_from_number (int64_t number, size_t *value_size); | 238 | GNUNET_ENV_value_from_number (int64_t number, size_t *value_size); |
167 | 239 | ||
168 | 240 | ||
169 | /** | 241 | /** |
@@ -175,7 +247,7 @@ GNUNET_PSYC_value_from_number (int64_t number, size_t *value_size); | |||
175 | * @return A newly allocated value or NULL on error. | 247 | * @return A newly allocated value or NULL on error. |
176 | */ | 248 | */ |
177 | void * | 249 | void * |
178 | GNUNET_PSYC_value_from_list (GNUNET_CONTAINER_SList *list, size_t *value_size); | 250 | GNUNET_ENV_value_from_list (GNUNET_CONTAINER_SList *list, size_t *value_size); |
179 | 251 | ||
180 | 252 | ||
181 | /** | 253 | /** |
@@ -187,4 +259,4 @@ GNUNET_PSYC_value_from_list (GNUNET_CONTAINER_SList *list, size_t *value_size); | |||
187 | * @return A newly allocated value or NULL on error. | 259 | * @return A newly allocated value or NULL on error. |
188 | */ | 260 | */ |
189 | void * | 261 | void * |
190 | GNUNET_PSYC_value_from_dict (GNUNET_CONTAINER_MultiHashMap *dict, size_t *value_size); | 262 | GNUNET_ENV_value_from_dict (GNUNET_CONTAINER_MultiHashMap *dict, size_t *value_size); |
diff --git a/src/include/gnunet_psyc_service.h b/src/include/gnunet_psyc_service.h index da8da9221..0f41c3b12 100644 --- a/src/include/gnunet_psyc_service.h +++ b/src/include/gnunet_psyc_service.h | |||
@@ -151,7 +151,7 @@ struct GNUNET_PSYC_PartHandle; | |||
151 | * specific than the registered method name due to try-and-slice matching). | 151 | * specific than the registered method name due to try-and-slice matching). |
152 | * FIXME: no try-and-slice for methods defined here. | 152 | * FIXME: no try-and-slice for methods defined here. |
153 | * @param header_length Number of modifiers in header. | 153 | * @param header_length Number of modifiers in header. |
154 | * @param header Modifiers present in the message. | 154 | * @param header Modifiers present in the message. FIXME: use environment instead? |
155 | * @param data_offset Byte offset of @a data in the overall data of the method. | 155 | * @param data_offset Byte offset of @a data in the overall data of the method. |
156 | * @param data_size Number of bytes in @a data. | 156 | * @param data_size Number of bytes in @a data. |
157 | * @param data Data stream given to the method (might not be zero-terminated | 157 | * @param data Data stream given to the method (might not be zero-terminated |
@@ -163,7 +163,7 @@ typedef int (*GNUNET_PSYC_Method)(void *cls, | |||
163 | uint64_t message_id, | 163 | uint64_t message_id, |
164 | const char *method_name, | 164 | const char *method_name, |
165 | size_t header_length, | 165 | size_t header_length, |
166 | GNUNET_PSYC_Modifier *header, | 166 | GNUNET_PSYC_Modifier *header, |
167 | uint64_t data_offset, | 167 | uint64_t data_offset, |
168 | size_t data_size, | 168 | size_t data_size, |
169 | const void *data, | 169 | const void *data, |
@@ -224,6 +224,7 @@ typedef int (*GNUNET_PSYC_PartCallback)(void *cls, | |||
224 | * @param is_admitted #GNUNET_YES if joining is approved, | 224 | * @param is_admitted #GNUNET_YES if joining is approved, |
225 | * #GNUNET_NO if it is disapproved | 225 | * #GNUNET_NO if it is disapproved |
226 | * @param method_name Method name for the message transmitted with the response. | 226 | * @param method_name Method name for the message transmitted with the response. |
227 | * @param env Environment: transient variables for the message. | ||
227 | * @param data_size Size of @a data. | 228 | * @param data_size Size of @a data. |
228 | * @param data Data of the message. | 229 | * @param data Data of the message. |
229 | */ | 230 | */ |
@@ -231,6 +232,7 @@ void | |||
231 | GNUNET_PSYC_join_decision (struct GNUNET_PSYC_JoinHandle *jh, | 232 | GNUNET_PSYC_join_decision (struct GNUNET_PSYC_JoinHandle *jh, |
232 | int is_admitted, | 233 | int is_admitted, |
233 | const char *method_name, | 234 | const char *method_name, |
235 | const struct GNUNET_ENV_Environment *env, | ||
234 | size_t data_size, | 236 | size_t data_size, |
235 | const void *data); | 237 | const void *data); |
236 | 238 | ||
@@ -290,32 +292,6 @@ GNUNET_PSYC_channel_create (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
290 | 292 | ||
291 | 293 | ||
292 | /** | 294 | /** |
293 | * Modify channel state (or set a transient variable). | ||
294 | * | ||
295 | * The state of a channel must fit into the memory of each member (and the | ||
296 | * channel); large values that require streaming must only be passed as the | ||
297 | * stream arguments to methods. State modifications might not be transmitted to | ||
298 | * group members until the next call to GNUNET_PSYC_channel_transmit(). | ||
299 | * Variable updates must be given just before the call to the respective method | ||
300 | * that needs the variables. | ||
301 | * | ||
302 | * @param channel Handle to the PSYC group / channel. | ||
303 | * @param oper Kind of update operation (add, remove, replace, delete). | ||
304 | * @param name Name of the state or transient variable to modify. | ||
305 | * @param value_size Number of bytes in @a value. | ||
306 | * @param value Value of state variable. | ||
307 | * @return #GNUNET_OK on success, #GNUNET_SYSERR on internal error | ||
308 | * (i.e. state too large). | ||
309 | */ | ||
310 | int | ||
311 | GNUNET_PSYC_channel_state_modify (struct GNUNET_PSYC_Channel *channel, | ||
312 | enum GNUNET_PSYC_Operator oper, | ||
313 | const char *name, | ||
314 | size_t value_size, | ||
315 | const void *value); | ||
316 | |||
317 | |||
318 | /** | ||
319 | * Function called to provide data for a transmission via PSYC. | 295 | * Function called to provide data for a transmission via PSYC. |
320 | * | 296 | * |
321 | * Note that returning #GNUNET_OK or #GNUNET_SYSERR (but not #GNUNET_NO) | 297 | * Note that returning #GNUNET_OK or #GNUNET_SYSERR (but not #GNUNET_NO) |
@@ -352,6 +328,7 @@ struct GNUNET_PSYC_ChannelTransmitHandle; | |||
352 | * @param increment_group_generation #GNUNET_YES if we need to increment | 328 | * @param increment_group_generation #GNUNET_YES if we need to increment |
353 | * the group generation counter after transmitting this message. | 329 | * the group generation counter after transmitting this message. |
354 | * @param method_name Which method should be invoked. | 330 | * @param method_name Which method should be invoked. |
331 | * @param env Environment: state operations and transient variables for the message. | ||
355 | * @param notify Function to call to obtain the arguments. | 332 | * @param notify Function to call to obtain the arguments. |
356 | * @param notify_cls Closure for @a notify. | 333 | * @param notify_cls Closure for @a notify. |
357 | * @return Transmission handle, NULL on error (i.e. more than one request queued). | 334 | * @return Transmission handle, NULL on error (i.e. more than one request queued). |
@@ -360,6 +337,7 @@ struct GNUNET_PSYC_ChannelTransmitHandle * | |||
360 | GNUNET_PSYC_channel_transmit (struct GNUNET_PSYC_Channel *channel, | 337 | GNUNET_PSYC_channel_transmit (struct GNUNET_PSYC_Channel *channel, |
361 | int increment_group_generation, | 338 | int increment_group_generation, |
362 | const char *method_name, | 339 | const char *method_name, |
340 | const struct GNUNET_ENV_Environment *env, | ||
363 | GNUNET_PSYC_ChannelReadyNotify notify, | 341 | GNUNET_PSYC_ChannelReadyNotify notify, |
364 | void *notify_cls); | 342 | void *notify_cls); |
365 | 343 | ||
@@ -544,6 +522,7 @@ struct GNUNET_PSYC_MemberTransmitHandle; | |||
544 | * | 522 | * |
545 | * @param member Membership handle. | 523 | * @param member Membership handle. |
546 | * @param method_name Which (PSYC) method should be invoked (on host). | 524 | * @param method_name Which (PSYC) method should be invoked (on host). |
525 | * @param env Environment: transient variables for the message. | ||
547 | * @param notify Function to call when we are allowed to transmit (to get data). | 526 | * @param notify Function to call when we are allowed to transmit (to get data). |
548 | * @param notify_cls Closure for @a notify. | 527 | * @param notify_cls Closure for @a notify. |
549 | * @return Transmission handle, NULL on error (i.e. more than one request queued). | 528 | * @return Transmission handle, NULL on error (i.e. more than one request queued). |
@@ -551,32 +530,12 @@ struct GNUNET_PSYC_MemberTransmitHandle; | |||
551 | struct GNUNET_PSYC_MemberTransmitHandle * | 530 | struct GNUNET_PSYC_MemberTransmitHandle * |
552 | GNUNET_PSYC_member_to_origin (struct GNUNET_PSYC_Member *member, | 531 | GNUNET_PSYC_member_to_origin (struct GNUNET_PSYC_Member *member, |
553 | const char *method_name, | 532 | const char *method_name, |
533 | const struct GNUNET_ENV_Environment *env, | ||
554 | GNUNET_PSYC_MemberReadyNotify notify, | 534 | GNUNET_PSYC_MemberReadyNotify notify, |
555 | void *notify_cls); | 535 | void *notify_cls); |
556 | 536 | ||
557 | 537 | ||
558 | /** | 538 | /** |
559 | * Set a (temporary, ":") variable for the next message being transmitted | ||
560 | * via GNUNET_PSYC_member_to_origin(). | ||
561 | * | ||
562 | * If GNUNET_PSYC_member_to_origin() is called and then cancelled, all | ||
563 | * variables that were set using this function will be unset (lost/forgotten). | ||
564 | * To clear a variable state after setting it, you can also call this function | ||
565 | * again with NULL/0 for the @a value. | ||
566 | * | ||
567 | * @param member Membership handle. | ||
568 | * @param name Name of the variable to set. | ||
569 | * @param value_size Number of bytes in @a value. | ||
570 | * @param value Value to set for the given variable. | ||
571 | */ | ||
572 | uint64_t | ||
573 | GNUNET_PSYC_member_variable_set (struct GNUNET_PSYC_Member *member, | ||
574 | const char *name, | ||
575 | size_t value_size, | ||
576 | const void *value); | ||
577 | |||
578 | |||
579 | /** | ||
580 | * Abort transmission request to origin. | 539 | * Abort transmission request to origin. |
581 | * | 540 | * |
582 | * @param th Handle of the request that is being aborted. | 541 | * @param th Handle of the request that is being aborted. |
diff --git a/src/include/gnunet_social_service.h b/src/include/gnunet_social_service.h index d4d9c437c..2a2108828 100644 --- a/src/include/gnunet_social_service.h +++ b/src/include/gnunet_social_service.h | |||
@@ -85,7 +85,7 @@ struct GNUNET_SOCIAL_Slicer; | |||
85 | * (unique only in combination with the given sender for | 85 | * (unique only in combination with the given sender for |
86 | * this channel). | 86 | * this channel). |
87 | * @param header_length Number of modifiers in header. | 87 | * @param header_length Number of modifiers in header. |
88 | * @param header Modifiers present in the message. | 88 | * @param header Modifiers present in the message. FIXME: use environment instead? |
89 | * @param data_offset Byte offset of @a data in the overall data of the method. | 89 | * @param data_offset Byte offset of @a data in the overall data of the method. |
90 | * @param data_size Number of bytes in @a data. | 90 | * @param data_size Number of bytes in @a data. |
91 | * @param data Data stream given to the method (might not be zero-terminated | 91 | * @param data Data stream given to the method (might not be zero-terminated |
@@ -323,27 +323,6 @@ GNUNET_SOCIAL_home_advertise (struct GNUNET_SOCIAL_Home *home, | |||
323 | GNUNET_TIME_Relative expiration_time); | 323 | GNUNET_TIME_Relative expiration_time); |
324 | 324 | ||
325 | 325 | ||
326 | |||
327 | /** | ||
328 | * (Re)decorate the home by changing objects in it. | ||
329 | * | ||
330 | * If the operation is #GNUNET_PSYC_OP_SET then the decoration only | ||
331 | * applies to the next announcement by the home owner. | ||
332 | * | ||
333 | * @param home The home to decorate. | ||
334 | * @param operation Operation to perform on the object. | ||
335 | * @param object_name Name of the object to modify. | ||
336 | * @param object_value_size Size of the given @a object_value. | ||
337 | * @param object_value Value to use for the modification. | ||
338 | */ | ||
339 | void | ||
340 | GNUNET_SOCIAL_home_decorate (struct GNUNET_SOCIAL_Home *home, | ||
341 | enum GNUNET_PSYC_Operator operation, | ||
342 | const char *object_name, | ||
343 | size_t object_value_size, | ||
344 | const void *object_value); | ||
345 | |||
346 | |||
347 | /** | 326 | /** |
348 | * Handle for an announcement request. | 327 | * Handle for an announcement request. |
349 | */ | 328 | */ |
@@ -365,6 +344,7 @@ struct GNUNET_SOCIAL_Announcement; | |||
365 | struct GNUNET_SOCIAL_Announcement * | 344 | struct GNUNET_SOCIAL_Announcement * |
366 | GNUNET_SOCIAL_home_announce (struct GNUNET_SOCIAL_Home *home, | 345 | GNUNET_SOCIAL_home_announce (struct GNUNET_SOCIAL_Home *home, |
367 | const char *method_name, | 346 | const char *method_name, |
347 | const struct GNUNET_ENV_Environment *env, | ||
368 | GNUNET_PSYC_OriginReadyNotify notify, | 348 | GNUNET_PSYC_OriginReadyNotify notify, |
369 | void *notify_cls); | 349 | void *notify_cls); |
370 | 350 | ||
@@ -429,6 +409,7 @@ struct GNUNET_SOCIAL_Place * | |||
429 | GNUNET_SOCIAL_place_enter (const struct GNUNET_CONFIGURATION_Handle *cfg, | 409 | GNUNET_SOCIAL_place_enter (const struct GNUNET_CONFIGURATION_Handle *cfg, |
430 | struct GNUNET_SOCIAL_Ego *ego, | 410 | struct GNUNET_SOCIAL_Ego *ego, |
431 | char *address, | 411 | char *address, |
412 | const struct GNUNET_ENV_Environment *env, | ||
432 | size_t msg_size, | 413 | size_t msg_size, |
433 | const void *msg, | 414 | const void *msg, |
434 | struct GNUNET_SOCIAL_Slicer *slicer); | 415 | struct GNUNET_SOCIAL_Slicer *slicer); |
@@ -451,6 +432,7 @@ GNUNET_SOCIAL_place_enter2 (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
451 | struct GNUNET_HashCode *crypto_address, | 432 | struct GNUNET_HashCode *crypto_address, |
452 | struct GNUNET_PeerIdentity *peer, | 433 | struct GNUNET_PeerIdentity *peer, |
453 | struct GNUNET_SOCIAL_Slicer *slicer, | 434 | struct GNUNET_SOCIAL_Slicer *slicer, |
435 | const struct GNUNET_ENV_Environment *env, | ||
454 | size_t msg_size, | 436 | size_t msg_size, |
455 | const void *msg); | 437 | const void *msg); |
456 | 438 | ||
@@ -542,24 +524,6 @@ GNUNET_SOCIAL_place_look_at (struct GNUNET_SOCIAL_Place *place, | |||
542 | 524 | ||
543 | 525 | ||
544 | /** | 526 | /** |
545 | * Frame the (next) talk by setting some variables for it. | ||
546 | * | ||
547 | * FIXME: use a TalkFrame struct instead that can be passed to | ||
548 | * place_talk, nym_talk and home_reject_entry. | ||
549 | * | ||
550 | * @param place Place to talk in. | ||
551 | * @param variable_name Name of variable to set. | ||
552 | * @param value_size Number of bytes in @a value. | ||
553 | * @param value Value of variable. | ||
554 | */ | ||
555 | void | ||
556 | GNUNET_SOCIAL_place_frame_talk (struct GNUNET_SOCIAL_Place *place, | ||
557 | const char *variable_name, | ||
558 | size_t value_size, | ||
559 | const void *value); | ||
560 | |||
561 | |||
562 | /** | ||
563 | * A talk request. | 527 | * A talk request. |
564 | */ | 528 | */ |
565 | struct GNUNET_SOCIAL_TalkRequest; | 529 | struct GNUNET_SOCIAL_TalkRequest; |
@@ -577,6 +541,7 @@ struct GNUNET_SOCIAL_TalkRequest; | |||
577 | struct GNUNET_SOCIAL_TalkRequest * | 541 | struct GNUNET_SOCIAL_TalkRequest * |
578 | GNUNET_SOCIAL_place_talk (struct GNUNET_SOCIAL_Place *place, | 542 | GNUNET_SOCIAL_place_talk (struct GNUNET_SOCIAL_Place *place, |
579 | const char *method_name, | 543 | const char *method_name, |
544 | const struct GNUNET_ENV_Environment *env, | ||
580 | GNUNET_PSYC_OriginReadyNotify cb, | 545 | GNUNET_PSYC_OriginReadyNotify cb, |
581 | void *cb_cls); | 546 | void *cb_cls); |
582 | 547 | ||