summaryrefslogtreecommitdiff
path: root/api.c
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2018-06-29 11:20:51 +0800
committerIru Cai <mytbk920423@gmail.com>2018-06-29 11:20:51 +0800
commit1719796a3a10eccf91eadb38c019829110e96294 (patch)
tree47ff1e6401fd5202aad0eccacb94bb19550f294f /api.c
parentb065c82627d83d1b207985d78276eb80f0b7b266 (diff)
downloadmatrix-curl-1719796a3a10eccf91eadb38c019829110e96294.tar.xz
update get_devices
Diffstat (limited to 'api.c')
-rw-r--r--api.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/api.c b/api.c
index f5c0d81..3757a0f 100644
--- a/api.c
+++ b/api.c
@@ -9,11 +9,13 @@
#include "device.h"
/* logout: return 1 if success, 0 if failed */
-int matrix_logout(matrix_session *sess)
+int matrix_logout(matrix_session *sess, int logout_all)
{
char * requrl = alloc_build_string((const char *[]){
sess->url,
- "/_matrix/client/r0/logout?access_token=",
+ "/_matrix/client/r0/logout",
+ logout_all?"/all":"",
+ "?access_token=",
sess->token,
NULL
});
@@ -82,7 +84,8 @@ const char * matrix_resolv_alias(matrix_session *sess, const char *alias)
void matrix_sync(matrix_session *sess)
{
- char *_req[] = { sess->url, "/_matrix/client/r0/sync?access_token=", sess->token , NULL };
+ const char *_req[] = { sess->url,
+ "/_matrix/client/r0/sync?access_token=", sess->token , NULL };
char *requrl = alloc_build_string(_req);
json_object *resp;
@@ -127,7 +130,11 @@ int main()
printf("%s\n", json_object_to_json_string(joined_rooms));
matrix_sync(sess);
puts("Diveces:");
- get_devices(sess);
+ int ndev;
+ matrix_device *devs = get_devices(sess, &ndev);
+ for (int i = 0; i < ndev; i++) {
+ printf("%s %s\n", devs[i].device_id, devs[i].display_name);
+ }
const char *roomid = matrix_resolv_alias(sess, "#hello:my.domain.name");
if (roomid == NULL)
@@ -144,7 +151,7 @@ int main()
if (roomid) free(roomid);
- if (matrix_logout(sess))
+ if (matrix_logout(sess, 1))
puts("logout!");
if (matrix_whoami(sess)) {