diff options
Diffstat (limited to 'src/gnunet_chat_message.c')
-rw-r--r-- | src/gnunet_chat_message.c | 68 |
1 files changed, 12 insertions, 56 deletions
diff --git a/src/gnunet_chat_message.c b/src/gnunet_chat_message.c index 805453e..bff8a52 100644 --- a/src/gnunet_chat_message.c +++ b/src/gnunet_chat_message.c | |||
@@ -22,70 +22,26 @@ | |||
22 | * @file gnunet_chat_message.c | 22 | * @file gnunet_chat_message.c |
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include "gnunet_chat_lib.h" | ||
26 | #include "gnunet_chat_message.h" | 25 | #include "gnunet_chat_message.h" |
27 | 26 | ||
28 | enum GNUNET_CHAT_MessageKind | 27 | struct GNUNET_CHAT_Message* |
29 | GNUNET_CHAT_message_get_kind (const struct GNUNET_CHAT_Message *message) | 28 | message_create_from_msg (struct GNUNET_CHAT_Context *context, |
29 | const struct GNUNET_HashCode *hash, | ||
30 | const struct GNUNET_MESSENGER_Message *msg) | ||
30 | { | 31 | { |
31 | if (!message) | 32 | struct GNUNET_CHAT_Message *message = GNUNET_new(struct GNUNET_CHAT_Message); |
32 | return GNUNET_CHAT_KIND_UNKNOWN; | ||
33 | 33 | ||
34 | switch (message->message->header.kind) { | 34 | message->context = context; |
35 | case GNUNET_MESSENGER_KIND_INVITE: | ||
36 | return GNUNET_CHAT_KIND_INVITATION; | ||
37 | case GNUNET_MESSENGER_KIND_TEXT: | ||
38 | return GNUNET_CHAT_KIND_TEXT; | ||
39 | case GNUNET_MESSENGER_KIND_FILE: | ||
40 | return GNUNET_CHAT_KIND_FILE; | ||
41 | default: | ||
42 | return GNUNET_CHAT_KIND_UNKNOWN; | ||
43 | } | ||
44 | } | ||
45 | |||
46 | struct GNUNET_TIME_Absolute | ||
47 | GNUNET_CHAT_message_get_timestamp (const struct GNUNET_CHAT_Message *message) | ||
48 | { | ||
49 | if (!message) | ||
50 | return GNUNET_TIME_absolute_get_zero_(); | ||
51 | |||
52 | return GNUNET_TIME_absolute_ntoh(message->message->header.timestamp); | ||
53 | } | ||
54 | |||
55 | const struct GNUNET_CHAT_Contact* | ||
56 | GNUNET_CHAT_message_get_sender (const struct GNUNET_CHAT_Message *message) | ||
57 | { | ||
58 | return NULL; | ||
59 | } | ||
60 | 35 | ||
61 | int | 36 | GNUNET_memcpy(&(message->hash), hash, sizeof(message->hash)); |
62 | GNUNET_CHAT_message_get_read_receipt (const struct GNUNET_CHAT_Message *message, | ||
63 | GNUNET_CHAT_MessageReadReceiptCallback callback, | ||
64 | void *cls) | ||
65 | { | ||
66 | return GNUNET_SYSERR; | ||
67 | } | ||
68 | |||
69 | struct GNUNET_CHAT_Invitation* | ||
70 | GNUNET_CHAT_message_get_invitation (const struct GNUNET_CHAT_Message *message) | ||
71 | { | ||
72 | return NULL; //TODO | ||
73 | } | ||
74 | |||
75 | const char* | ||
76 | GNUNET_CHAT_message_get_text (const struct GNUNET_CHAT_Message *message) | ||
77 | { | ||
78 | if (!message) | ||
79 | return NULL; | ||
80 | 37 | ||
81 | if (GNUNET_MESSENGER_KIND_TEXT != message->message->header.kind) | 38 | message->msg = msg; |
82 | return NULL; | ||
83 | 39 | ||
84 | return message->message->body.text.text; | 40 | return message; |
85 | } | 41 | } |
86 | 42 | ||
87 | struct GNUNET_CHAT_File* | 43 | void |
88 | GNUNET_CHAT_message_get_file (const struct GNUNET_CHAT_Message *message) | 44 | message_destroy (struct GNUNET_CHAT_Message* message) |
89 | { | 45 | { |
90 | return NULL; | 46 | GNUNET_free(message); |
91 | } | 47 | } |