diff options
Diffstat (limited to 'include/gnunet_chat_lib.h')
-rw-r--r-- | include/gnunet_chat_lib.h | 123 |
1 files changed, 109 insertions, 14 deletions
diff --git a/include/gnunet_chat_lib.h b/include/gnunet_chat_lib.h index eca7a77..f2605b9 100644 --- a/include/gnunet_chat_lib.h +++ b/include/gnunet_chat_lib.h | |||
@@ -29,6 +29,8 @@ | |||
29 | #ifndef GNUNET_CHAT_LIB_H_ | 29 | #ifndef GNUNET_CHAT_LIB_H_ |
30 | #define GNUNET_CHAT_LIB_H_ | 30 | #define GNUNET_CHAT_LIB_H_ |
31 | 31 | ||
32 | #define GNUNET_UNUSED __attribute__ ((unused)) | ||
33 | |||
32 | #include <gnunet/platform.h> | 34 | #include <gnunet/platform.h> |
33 | #include <gnunet/gnunet_util_lib.h> | 35 | #include <gnunet/gnunet_util_lib.h> |
34 | 36 | ||
@@ -40,17 +42,22 @@ enum GNUNET_CHAT_MessageKind | |||
40 | /** | 42 | /** |
41 | * TODO | 43 | * TODO |
42 | */ | 44 | */ |
43 | GNUNET_CHAT_KIND_TEXT = 1, /**< GNUNET_CHAT_KIND_TEXT */ | 45 | GNUNET_CHAT_KIND_TEXT = 1, /**< GNUNET_CHAT_KIND_TEXT */ |
46 | |||
47 | /** | ||
48 | * TODO | ||
49 | */ | ||
50 | GNUNET_CHAT_KIND_FILE = 2, /**< GNUNET_CHAT_KIND_FILE */ | ||
44 | 51 | ||
45 | /** | 52 | /** |
46 | * TODO | 53 | * TODO |
47 | */ | 54 | */ |
48 | GNUNET_CHAT_KIND_FILE = 2, /**< GNUNET_CHAT_KIND_FILE */ | 55 | GNUNET_CHAT_KIND_INVITATION = 3, /**< GNUNET_CHAT_KIND_INVITATION */ |
49 | 56 | ||
50 | /** | 57 | /** |
51 | * TODO | 58 | * TODO |
52 | */ | 59 | */ |
53 | GNUNET_CHAT_KIND_UNKNOWN = 0/**< GNUNET_CHAT_KIND_UNKNOWN */ | 60 | GNUNET_CHAT_KIND_UNKNOWN = 0 /**< GNUNET_CHAT_KIND_UNKNOWN */ |
54 | }; | 61 | }; |
55 | 62 | ||
56 | /** | 63 | /** |
@@ -85,6 +92,11 @@ struct GNUNET_CHAT_File; | |||
85 | 92 | ||
86 | /** | 93 | /** |
87 | * TODO | 94 | * TODO |
95 | */ | ||
96 | struct GNUNET_CHAT_Invitation; | ||
97 | |||
98 | /** | ||
99 | * TODO | ||
88 | * | 100 | * |
89 | * @param cls | 101 | * @param cls |
90 | * @param handle | 102 | * @param handle |
@@ -157,8 +169,27 @@ typedef int | |||
157 | struct GNUNET_CHAT_Contact *contact, | 169 | struct GNUNET_CHAT_Contact *contact, |
158 | int read_receipt); | 170 | int read_receipt); |
159 | 171 | ||
160 | typedef void | 172 | /** |
161 | (*GNUNET_CHAT_MessageFileDownloadCallback) (void *cls, struct GNUNET_CHAT_File *file); | 173 | * TODO |
174 | * | ||
175 | * @param cls | ||
176 | * @param file | ||
177 | * @param completed | ||
178 | */ | ||
179 | typedef int | ||
180 | (*GNUNET_CHAT_MessageFileUploadCallback) (void *cls, const struct GNUNET_CHAT_File *file, | ||
181 | uint64_t completed); | ||
182 | |||
183 | /** | ||
184 | * TODO | ||
185 | * | ||
186 | * @param cls | ||
187 | * @param file | ||
188 | * @param completed | ||
189 | */ | ||
190 | typedef int | ||
191 | (*GNUNET_CHAT_MessageFileDownloadCallback) (void *cls, struct GNUNET_CHAT_File *file, | ||
192 | uint64_t completed); | ||
162 | 193 | ||
163 | /** | 194 | /** |
164 | * TODO | 195 | * TODO |
@@ -172,7 +203,8 @@ typedef void | |||
172 | struct GNUNET_CHAT_Handle* | 203 | struct GNUNET_CHAT_Handle* |
173 | GNUNET_CHAT_start (const struct GNUNET_CONFIGURATION_Handle *cfg, | 204 | GNUNET_CHAT_start (const struct GNUNET_CONFIGURATION_Handle *cfg, |
174 | const char *name, | 205 | const char *name, |
175 | GNUNET_CHAT_WarningCallback warn_cb, void *warn_cls); | 206 | GNUNET_CHAT_WarningCallback warn_cb, void *warn_cls, |
207 | GNUNET_CHAT_ContextMessageCallback msg_cb, void *msg_cls); | ||
176 | 208 | ||
177 | /** | 209 | /** |
178 | * TODO | 210 | * TODO |
@@ -306,8 +338,9 @@ GNUNET_CHAT_contact_get_context (struct GNUNET_CHAT_Contact *contact); | |||
306 | * TODO | 338 | * TODO |
307 | * | 339 | * |
308 | * @param group | 340 | * @param group |
341 | * @return | ||
309 | */ | 342 | */ |
310 | void | 343 | int |
311 | GNUNET_CHAT_group_leave (struct GNUNET_CHAT_Group *group); | 344 | GNUNET_CHAT_group_leave (struct GNUNET_CHAT_Group *group); |
312 | 345 | ||
313 | /** | 346 | /** |
@@ -418,11 +451,15 @@ GNUNET_CHAT_context_delete_message (struct GNUNET_CHAT_Context *context, | |||
418 | * | 451 | * |
419 | * @param context | 452 | * @param context |
420 | * @param hash | 453 | * @param hash |
454 | * @param callback | ||
455 | * @param cls | ||
421 | * @return | 456 | * @return |
422 | */ | 457 | */ |
423 | const struct GNUNET_CHAT_Message* | 458 | int |
424 | GNUNET_CHAT_context_get_message (struct GNUNET_CHAT_Context *context, | 459 | GNUNET_CHAT_context_get_message (struct GNUNET_CHAT_Context *context, |
425 | const struct GNUNET_HashCode *hash); | 460 | const struct GNUNET_HashCode *hash, |
461 | GNUNET_CHAT_ContextMessageCallback callback, | ||
462 | void *cls); | ||
426 | 463 | ||
427 | /** | 464 | /** |
428 | * TODO | 465 | * TODO |
@@ -499,33 +536,91 @@ GNUNET_CHAT_message_get_file (const struct GNUNET_CHAT_Message *message); | |||
499 | /** | 536 | /** |
500 | * TODO | 537 | * TODO |
501 | * | 538 | * |
539 | * @param message | ||
540 | * @return | ||
541 | */ | ||
542 | struct GNUNET_CHAT_Invitation* | ||
543 | GNUNET_CHAT_message_get_invitation (const struct GNUNET_CHAT_Message *message); | ||
544 | |||
545 | /** | ||
546 | * TODO | ||
547 | * | ||
502 | * @param file | 548 | * @param file |
549 | * @return | ||
503 | */ | 550 | */ |
504 | void | 551 | const struct GNUNET_HashCode* |
505 | GNUNET_CHAT_file_start_download (struct GNUNET_CHAT_File *file); | 552 | GNUNET_CHAT_file_get_hash (const struct GNUNET_CHAT_File *file); |
506 | 553 | ||
507 | /** | 554 | /** |
508 | * TODO | 555 | * TODO |
509 | * | 556 | * |
510 | * @param file | 557 | * @param file |
558 | * @return | ||
511 | */ | 559 | */ |
512 | void | 560 | uint64_t |
561 | GNUNET_CHAT_file_get_size (const struct GNUNET_CHAT_File *file); | ||
562 | |||
563 | /** | ||
564 | * TODO | ||
565 | * | ||
566 | * @param file | ||
567 | * @return | ||
568 | */ | ||
569 | int | ||
570 | GNUNET_CHAT_file_is_local (const struct GNUNET_CHAT_File *file); | ||
571 | |||
572 | /** | ||
573 | * TODO | ||
574 | * | ||
575 | * @param file | ||
576 | * @return | ||
577 | */ | ||
578 | int | ||
579 | GNUNET_CHAT_file_start_download (struct GNUNET_CHAT_File *file, | ||
580 | GNUNET_CHAT_MessageFileDownloadCallback callback, | ||
581 | void *cls); | ||
582 | |||
583 | /** | ||
584 | * TODO | ||
585 | * | ||
586 | * @param file | ||
587 | * @return | ||
588 | */ | ||
589 | int | ||
513 | GNUNET_CHAT_file_pause_download (struct GNUNET_CHAT_File *file); | 590 | GNUNET_CHAT_file_pause_download (struct GNUNET_CHAT_File *file); |
514 | 591 | ||
515 | /** | 592 | /** |
516 | * TODO | 593 | * TODO |
517 | * | 594 | * |
518 | * @param file | 595 | * @param file |
596 | * @return | ||
519 | */ | 597 | */ |
520 | void | 598 | int |
521 | GNUNET_CHAT_file_resume_download (struct GNUNET_CHAT_File *file); | 599 | GNUNET_CHAT_file_resume_download (struct GNUNET_CHAT_File *file); |
522 | 600 | ||
523 | /** | 601 | /** |
524 | * TODO | 602 | * TODO |
525 | * | 603 | * |
526 | * @param file | 604 | * @param file |
605 | * @return | ||
527 | */ | 606 | */ |
528 | void | 607 | int |
529 | GNUNET_CHAT_file_stop_download (struct GNUNET_CHAT_File *file); | 608 | GNUNET_CHAT_file_stop_download (struct GNUNET_CHAT_File *file); |
530 | 609 | ||
610 | /** | ||
611 | * TODO | ||
612 | * | ||
613 | * @param invitation | ||
614 | */ | ||
615 | void | ||
616 | GNUNET_CHAT_invitation_accept (struct GNUNET_CHAT_Invitation *invitation); | ||
617 | |||
618 | /** | ||
619 | * TODO | ||
620 | * | ||
621 | * @param invitation | ||
622 | */ | ||
623 | void | ||
624 | GNUNET_CHAT_invitation_decline (struct GNUNET_CHAT_Invitation *invitation); | ||
625 | |||
531 | #endif /* GNUNET_CHAT_LIB_H_ */ | 626 | #endif /* GNUNET_CHAT_LIB_H_ */ |