aboutsummaryrefslogtreecommitdiff
path: root/include/gnunet_chat_lib.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/gnunet_chat_lib.h')
-rw-r--r--include/gnunet_chat_lib.h123
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 */
96struct 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
160typedef 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 */
179typedef 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 */
190typedef 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
172struct GNUNET_CHAT_Handle* 203struct GNUNET_CHAT_Handle*
173GNUNET_CHAT_start (const struct GNUNET_CONFIGURATION_Handle *cfg, 204GNUNET_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 */
310void 343int
311GNUNET_CHAT_group_leave (struct GNUNET_CHAT_Group *group); 344GNUNET_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 */
423const struct GNUNET_CHAT_Message* 458int
424GNUNET_CHAT_context_get_message (struct GNUNET_CHAT_Context *context, 459GNUNET_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 */
542struct GNUNET_CHAT_Invitation*
543GNUNET_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 */
504void 551const struct GNUNET_HashCode*
505GNUNET_CHAT_file_start_download (struct GNUNET_CHAT_File *file); 552GNUNET_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 */
512void 560uint64_t
561GNUNET_CHAT_file_get_size (const struct GNUNET_CHAT_File *file);
562
563/**
564 * TODO
565 *
566 * @param file
567 * @return
568 */
569int
570GNUNET_CHAT_file_is_local (const struct GNUNET_CHAT_File *file);
571
572/**
573 * TODO
574 *
575 * @param file
576 * @return
577 */
578int
579GNUNET_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 */
589int
513GNUNET_CHAT_file_pause_download (struct GNUNET_CHAT_File *file); 590GNUNET_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 */
520void 598int
521GNUNET_CHAT_file_resume_download (struct GNUNET_CHAT_File *file); 599GNUNET_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 */
528void 607int
529GNUNET_CHAT_file_stop_download (struct GNUNET_CHAT_File *file); 608GNUNET_CHAT_file_stop_download (struct GNUNET_CHAT_File *file);
530 609
610/**
611 * TODO
612 *
613 * @param invitation
614 */
615void
616GNUNET_CHAT_invitation_accept (struct GNUNET_CHAT_Invitation *invitation);
617
618/**
619 * TODO
620 *
621 * @param invitation
622 */
623void
624GNUNET_CHAT_invitation_decline (struct GNUNET_CHAT_Invitation *invitation);
625
531#endif /* GNUNET_CHAT_LIB_H_ */ 626#endif /* GNUNET_CHAT_LIB_H_ */