diff options
-rw-r--r-- | auto_tests/messenger_test.c | 29 | ||||
-rw-r--r-- | toxcore/Messenger.c | 20 | ||||
-rw-r--r-- | toxcore/Messenger.h | 19 | ||||
-rw-r--r-- | toxcore/tox.c | 25 | ||||
-rw-r--r-- | toxcore/tox.h | 28 |
5 files changed, 76 insertions, 45 deletions
diff --git a/auto_tests/messenger_test.c b/auto_tests/messenger_test.c index cab238c8..d067a014 100644 --- a/auto_tests/messenger_test.c +++ b/auto_tests/messenger_test.c | |||
@@ -98,12 +98,22 @@ START_TEST(test_m_set_userstatus) | |||
98 | } | 98 | } |
99 | END_TEST | 99 | END_TEST |
100 | 100 | ||
101 | START_TEST(test_m_friendstatus) | 101 | START_TEST(test_m_get_friend_connectionstatus) |
102 | { | 102 | { |
103 | ck_assert_msg((m_friendstatus(m, -1) == NOFRIEND), | 103 | ck_assert_msg((m_get_friend_connectionstatus(m, -1) == -1), |
104 | "m_friendstatus did NOT catch an argument of -1.\n"); | 104 | "m_get_friend_connectionstatus did NOT catch an argument of -1.\n"); |
105 | ck_assert_msg((m_friendstatus(m, REALLY_BIG_NUMBER) == NOFRIEND), | 105 | ck_assert_msg((m_get_friend_connectionstatus(m, REALLY_BIG_NUMBER) == -1), |
106 | "m_friendstatus did NOT catch an argument of %d.\n", | 106 | "m_get_friend_connectionstatus did NOT catch an argument of %d.\n", |
107 | REALLY_BIG_NUMBER); | ||
108 | } | ||
109 | END_TEST | ||
110 | |||
111 | START_TEST(test_m_friend_exists) | ||
112 | { | ||
113 | ck_assert_msg((m_friend_exists(m, -1) == 0), | ||
114 | "m_friend_exists did NOT catch an argument of -1.\n"); | ||
115 | ck_assert_msg((m_friend_exists(m, REALLY_BIG_NUMBER) == 0), | ||
116 | "m_friend_exists did NOT catch an argument of %d.\n", | ||
107 | REALLY_BIG_NUMBER); | 117 | REALLY_BIG_NUMBER); |
108 | } | 118 | } |
109 | END_TEST | 119 | END_TEST |
@@ -220,7 +230,8 @@ Suite *messenger_suite(void) | |||
220 | TCase *userstatus_size = tcase_create("userstatus_size"); | 230 | TCase *userstatus_size = tcase_create("userstatus_size"); |
221 | TCase *set_userstatus = tcase_create("set_userstatus"); | 231 | TCase *set_userstatus = tcase_create("set_userstatus"); |
222 | TCase *send_message = tcase_create("send_message"); | 232 | TCase *send_message = tcase_create("send_message"); |
223 | TCase *friendstatus = tcase_create("friendstatus"); | 233 | TCase *friend_exists = tcase_create("friend_exists"); |
234 | TCase *get_friend_connectionstatus = tcase_create("get_friend_connectionstatus"); | ||
224 | TCase *getself_name = tcase_create("getself_name"); | 235 | TCase *getself_name = tcase_create("getself_name"); |
225 | TCase *delfriend = tcase_create("delfriend"); | 236 | TCase *delfriend = tcase_create("delfriend"); |
226 | //TCase *addfriend = tcase_create("addfriend"); | 237 | //TCase *addfriend = tcase_create("addfriend"); |
@@ -229,7 +240,8 @@ Suite *messenger_suite(void) | |||
229 | 240 | ||
230 | tcase_add_test(userstatus_size, test_m_get_userstatus_size); | 241 | tcase_add_test(userstatus_size, test_m_get_userstatus_size); |
231 | tcase_add_test(set_userstatus, test_m_set_userstatus); | 242 | tcase_add_test(set_userstatus, test_m_set_userstatus); |
232 | tcase_add_test(friendstatus, test_m_friendstatus); | 243 | tcase_add_test(get_friend_connectionstatus, test_m_get_friend_connectionstatus); |
244 | tcase_add_test(friend_exists, test_m_friend_exists); | ||
233 | tcase_add_test(getself_name, test_getself_name); | 245 | tcase_add_test(getself_name, test_getself_name); |
234 | tcase_add_test(send_message, test_m_sendmesage); | 246 | tcase_add_test(send_message, test_m_sendmesage); |
235 | tcase_add_test(delfriend, test_m_delfriend); | 247 | tcase_add_test(delfriend, test_m_delfriend); |
@@ -239,7 +251,8 @@ Suite *messenger_suite(void) | |||
239 | 251 | ||
240 | suite_add_tcase(s, userstatus_size); | 252 | suite_add_tcase(s, userstatus_size); |
241 | suite_add_tcase(s, set_userstatus); | 253 | suite_add_tcase(s, set_userstatus); |
242 | suite_add_tcase(s, friendstatus); | 254 | suite_add_tcase(s, get_friend_connectionstatus); |
255 | suite_add_tcase(s, friend_exists); | ||
243 | suite_add_tcase(s, send_message); | 256 | suite_add_tcase(s, send_message); |
244 | suite_add_tcase(s, getself_name); | 257 | suite_add_tcase(s, getself_name); |
245 | suite_add_tcase(s, delfriend); | 258 | suite_add_tcase(s, delfriend); |
diff --git a/toxcore/Messenger.c b/toxcore/Messenger.c index ff2c31aa..07893e02 100644 --- a/toxcore/Messenger.c +++ b/toxcore/Messenger.c | |||
@@ -275,18 +275,20 @@ int m_delfriend(Messenger *m, int friendnumber) | |||
275 | return 0; | 275 | return 0; |
276 | } | 276 | } |
277 | 277 | ||
278 | /* return FRIEND_ONLINE if friend is online. | 278 | int m_get_friend_connectionstatus(Messenger *m, int friendnumber) |
279 | * return FRIEND_CONFIRMED if friend is confirmed. | 279 | { |
280 | * return FRIEND_REQUESTED if the friend request was sent. | 280 | if (friend_not_valid(m, friendnumber)) |
281 | * return FRIEND_ADDED if the friend was added. | 281 | return -1; |
282 | * return NOFRIEND if there is no friend with that number. | 282 | |
283 | */ | 283 | return m->friendlist[friendnumber].status == FRIEND_ONLINE; |
284 | int m_friendstatus(Messenger *m, int friendnumber) | 284 | } |
285 | |||
286 | int m_friend_exists(Messenger *m, int friendnumber) | ||
285 | { | 287 | { |
286 | if (friend_not_valid(m, friendnumber)) | 288 | if (friend_not_valid(m, friendnumber)) |
287 | return NOFRIEND; | 289 | return 0; |
288 | 290 | ||
289 | return m->friendlist[friendnumber].status; | 291 | return m->friendlist[friendnumber].status > NOFRIEND; |
290 | } | 292 | } |
291 | 293 | ||
292 | /* Send a text chat message to an online friend. | 294 | /* Send a text chat message to an online friend. |
diff --git a/toxcore/Messenger.h b/toxcore/Messenger.h index a4c6114b..c512245c 100644 --- a/toxcore/Messenger.h +++ b/toxcore/Messenger.h | |||
@@ -202,13 +202,20 @@ int getclient_id(Messenger *m, int friend_id, uint8_t *client_id); | |||
202 | /* Remove a friend. */ | 202 | /* Remove a friend. */ |
203 | int m_delfriend(Messenger *m, int friendnumber); | 203 | int m_delfriend(Messenger *m, int friendnumber); |
204 | 204 | ||
205 | /* return 4 if friend is online. | 205 | /* Checks friend's connecting status. |
206 | * return 3 if friend is confirmed. | 206 | * |
207 | * return 2 if the friend request was sent. | 207 | * return 1 if friend is connected to us (Online). |
208 | * return 1 if the friend was added. | 208 | * return 0 if friend is not connected to us (Offline). |
209 | * return 0 if there is no friend with that number. | 209 | * return -1 on failure. |
210 | */ | ||
211 | int m_get_friend_connectionstatus(Messenger *m, int friendnumber); | ||
212 | |||
213 | /* Checks if there exists a friend with given friendnumber. | ||
214 | * | ||
215 | * return 1 if friend exists. | ||
216 | * return 0 if friend doesn't exist. | ||
210 | */ | 217 | */ |
211 | int m_friendstatus(Messenger *m, int friendnumber); | 218 | int m_friend_exists(Messenger *m, int friendnumber); |
212 | 219 | ||
213 | /* Send a text chat message to an online friend. | 220 | /* Send a text chat message to an online friend. |
214 | * | 221 | * |
diff --git a/toxcore/tox.c b/toxcore/tox.c index 0af07ede..83b19e9b 100644 --- a/toxcore/tox.c +++ b/toxcore/tox.c | |||
@@ -99,16 +99,27 @@ int tox_delfriend(void *tox, int friendnumber) | |||
99 | return m_delfriend(m, friendnumber); | 99 | return m_delfriend(m, friendnumber); |
100 | } | 100 | } |
101 | 101 | ||
102 | /* return 4 if friend is online. | 102 | /* Checks friend's connecting status. |
103 | * return 3 if friend is confirmed. | 103 | * |
104 | * return 2 if the friend request was sent. | 104 | * return 1 if friend is connected to us (Online). |
105 | * return 1 if the friend was added. | 105 | * return 0 if friend is not connected to us (Offline). |
106 | * return 0 if there is no friend with that number. | 106 | * return -1 on failure. |
107 | */ | ||
108 | int tox_get_friend_connectionstatus(void *tox, int friendnumber) | ||
109 | { | ||
110 | Messenger *m = tox; | ||
111 | return m_get_friend_connectionstatus(m, friendnumber); | ||
112 | } | ||
113 | |||
114 | /* Checks if there exists a friend with given friendnumber. | ||
115 | * | ||
116 | * return 1 if friend exists. | ||
117 | * return 0 if friend doesn't exist. | ||
107 | */ | 118 | */ |
108 | int tox_friendstatus(void *tox, int friendnumber) | 119 | int tox_friend_exists(void *tox, int friendnumber) |
109 | { | 120 | { |
110 | Messenger *m = tox; | 121 | Messenger *m = tox; |
111 | return m_friendstatus(m, friendnumber); | 122 | return m_friend_exists(m, friendnumber); |
112 | } | 123 | } |
113 | 124 | ||
114 | /* Send a text chat message to an online friend. | 125 | /* Send a text chat message to an online friend. |
diff --git a/toxcore/tox.h b/toxcore/tox.h index 718f817b..811e798b 100644 --- a/toxcore/tox.h +++ b/toxcore/tox.h | |||
@@ -50,15 +50,6 @@ typedef struct { | |||
50 | uint16_t padding; | 50 | uint16_t padding; |
51 | } tox_IP_Port; | 51 | } tox_IP_Port; |
52 | 52 | ||
53 | /* Status definitions. */ | ||
54 | enum { | ||
55 | TOX_NOFRIEND, | ||
56 | TOX_FRIEND_ADDED, | ||
57 | TOX_FRIEND_REQUESTED, | ||
58 | TOX_FRIEND_CONFIRMED, | ||
59 | TOX_FRIEND_ONLINE, | ||
60 | }; | ||
61 | |||
62 | /* Errors for m_addfriend | 53 | /* Errors for m_addfriend |
63 | * FAERR - Friend Add Error | 54 | * FAERR - Friend Add Error |
64 | */ | 55 | */ |
@@ -130,13 +121,20 @@ int tox_getclient_id(Tox *tox, int friend_id, uint8_t *client_id); | |||
130 | /* Remove a friend. */ | 121 | /* Remove a friend. */ |
131 | int tox_delfriend(Tox *tox, int friendnumber); | 122 | int tox_delfriend(Tox *tox, int friendnumber); |
132 | 123 | ||
133 | /* return TOX_FRIEND_ONLINE if friend is online. | 124 | /* Checks friend's connecting status. |
134 | * return TOX_FRIEND_CONFIRMED if friend is confirmed. | 125 | * |
135 | * return TOX_FRIEND_REQUESTED if the friend request was sent. | 126 | * return 1 if friend is connected to us (Online). |
136 | * return TOX_FRIEND_ADDED if the friend was added. | 127 | * return 0 if friend is not connected to us (Offline). |
137 | * return TOX_NOFRIEND if there is no friend with that number. | 128 | * return -1 on failure. |
129 | */ | ||
130 | int tox_get_friend_connectionstatus(Tox *tox, int friendnumber); | ||
131 | |||
132 | /* Checks if there exists a friend with given friendnumber. | ||
133 | * | ||
134 | * return 1 if friend exists. | ||
135 | * return 0 if friend doesn't exist. | ||
138 | */ | 136 | */ |
139 | int tox_friendstatus(Tox *tox, int friendnumber); | 137 | int tox_friend_exists(Tox *tox, int friendnumber); |
140 | 138 | ||
141 | /* Send a text chat message to an online friend. | 139 | /* Send a text chat message to an online friend. |
142 | * | 140 | * |