diff options
Diffstat (limited to 'src/gnunet_chat_file.c')
-rw-r--r-- | src/gnunet_chat_file.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/gnunet_chat_file.c b/src/gnunet_chat_file.c index 9e52ccf..e661d7e 100644 --- a/src/gnunet_chat_file.c +++ b/src/gnunet_chat_file.c | |||
@@ -61,6 +61,7 @@ file_create_from_message (struct GNUNET_CHAT_Handle *handle, | |||
61 | file->unindex_head = NULL; | 61 | file->unindex_head = NULL; |
62 | file->unindex_tail = NULL; | 62 | file->unindex_tail = NULL; |
63 | 63 | ||
64 | file->status = 0; | ||
64 | file->preview = NULL; | 65 | file->preview = NULL; |
65 | 66 | ||
66 | file->user_pointer = NULL; | 67 | file->user_pointer = NULL; |
@@ -104,6 +105,7 @@ file_create_from_disk (struct GNUNET_CHAT_Handle *handle, | |||
104 | file->unindex_head = NULL; | 105 | file->unindex_head = NULL; |
105 | file->unindex_tail = NULL; | 106 | file->unindex_tail = NULL; |
106 | 107 | ||
108 | file->status = 0; | ||
107 | file->preview = NULL; | 109 | file->preview = NULL; |
108 | 110 | ||
109 | file->user_pointer = NULL; | 111 | file->user_pointer = NULL; |
@@ -242,6 +244,8 @@ file_update_upload (struct GNUNET_CHAT_File *file, | |||
242 | { | 244 | { |
243 | GNUNET_assert(file); | 245 | GNUNET_assert(file); |
244 | 246 | ||
247 | file->status |= GNUNET_CHAT_FILE_STATUS_PUBLISH; | ||
248 | |||
245 | struct GNUNET_CHAT_FileUpload *upload = file->upload_head; | 249 | struct GNUNET_CHAT_FileUpload *upload = file->upload_head; |
246 | 250 | ||
247 | while (upload) | 251 | while (upload) |
@@ -278,6 +282,10 @@ file_update_upload (struct GNUNET_CHAT_File *file, | |||
278 | } | 282 | } |
279 | 283 | ||
280 | GNUNET_free(msg.body.file.uri); | 284 | GNUNET_free(msg.body.file.uri); |
285 | |||
286 | file->status &= ( | ||
287 | GNUNET_CHAT_FILE_STATUS_MASK ^ GNUNET_CHAT_FILE_STATUS_PUBLISH | ||
288 | ); | ||
281 | } | 289 | } |
282 | 290 | ||
283 | void | 291 | void |
@@ -287,6 +295,8 @@ file_update_download (struct GNUNET_CHAT_File *file, | |||
287 | { | 295 | { |
288 | GNUNET_assert(file); | 296 | GNUNET_assert(file); |
289 | 297 | ||
298 | file->status |= GNUNET_CHAT_FILE_STATUS_DOWNLOAD; | ||
299 | |||
290 | struct GNUNET_CHAT_FileDownload *download = file->download_head; | 300 | struct GNUNET_CHAT_FileDownload *download = file->download_head; |
291 | 301 | ||
292 | while (download) | 302 | while (download) |
@@ -312,6 +322,10 @@ file_update_download (struct GNUNET_CHAT_File *file, | |||
312 | 322 | ||
313 | GNUNET_free(download); | 323 | GNUNET_free(download); |
314 | } | 324 | } |
325 | |||
326 | file->status &= ( | ||
327 | GNUNET_CHAT_FILE_STATUS_MASK ^ GNUNET_CHAT_FILE_STATUS_DOWNLOAD | ||
328 | ); | ||
315 | } | 329 | } |
316 | 330 | ||
317 | void | 331 | void |
@@ -321,6 +335,8 @@ file_update_unindex (struct GNUNET_CHAT_File *file, | |||
321 | { | 335 | { |
322 | GNUNET_assert(file); | 336 | GNUNET_assert(file); |
323 | 337 | ||
338 | file->status |= GNUNET_CHAT_FILE_STATUS_UNINDEX; | ||
339 | |||
324 | struct GNUNET_CHAT_FileUnindex *unindex = file->unindex_head; | 340 | struct GNUNET_CHAT_FileUnindex *unindex = file->unindex_head; |
325 | 341 | ||
326 | while (unindex) | 342 | while (unindex) |
@@ -346,4 +362,8 @@ file_update_unindex (struct GNUNET_CHAT_File *file, | |||
346 | 362 | ||
347 | GNUNET_free(unindex); | 363 | GNUNET_free(unindex); |
348 | } | 364 | } |
365 | |||
366 | file->status &= ( | ||
367 | GNUNET_CHAT_FILE_STATUS_MASK ^ GNUNET_CHAT_FILE_STATUS_UNINDEX | ||
368 | ); | ||
349 | } | 369 | } |