diff options
author | Iru Cai <mytbk920423@gmail.com> | 2018-06-29 00:14:39 +0800 |
---|---|---|
committer | Iru Cai <mytbk920423@gmail.com> | 2018-06-29 00:14:39 +0800 |
commit | b065c82627d83d1b207985d78276eb80f0b7b266 (patch) | |
tree | 9b86751008a4dc875e917a9cb9f143991296ea7c | |
parent | 1dd9eb4d4d22c5559646ee0bf4d243107bf4154a (diff) | |
download | matrix-curl-b065c82627d83d1b207985d78276eb80f0b7b266.tar.xz |
device
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | api.c | 3 | ||||
-rw-r--r-- | device.c | 34 | ||||
-rw-r--r-- | device.h | 13 |
4 files changed, 51 insertions, 1 deletions
@@ -1,4 +1,4 @@ LDLIBS=-lcurl -ljson-c CFLAGS=-g -Wall -api: api.o session.o curl_util.o util.o +api: api.o session.o curl_util.o util.o device.o @@ -6,6 +6,7 @@ #include "session.h" #include "curl_util.h" #include "util.h" +#include "device.h" /* logout: return 1 if success, 0 if failed */ int matrix_logout(matrix_session *sess) @@ -125,6 +126,8 @@ int main() json_object *joined_rooms = matrix_joined_rooms(sess); printf("%s\n", json_object_to_json_string(joined_rooms)); matrix_sync(sess); + puts("Diveces:"); + get_devices(sess); const char *roomid = matrix_resolv_alias(sess, "#hello:my.domain.name"); if (roomid == NULL) diff --git a/device.c b/device.c new file mode 100644 index 0000000..f5b9942 --- /dev/null +++ b/device.c @@ -0,0 +1,34 @@ +/* implements 11.9 Device Management + +GET /_matrix/client/r0/devices/{deviceId} +PUT /_matrix/client/r0/devices/{deviceId} +DELETE /_matrix/client/r0/devices/{deviceId} + +*/ + +#include <stdio.h> +#include "session.h" +#include "util.h" +#include "curl_util.h" + +void get_devices(matrix_session *sess) +{ + /* GET /_matrix/client/r0/devices */ + const char *u[] = { sess->url, + "/_matrix/client/r0/devices?access_token=", sess->token , NULL }; + const char *requrl = alloc_build_string(u); + json_object *resp; + _curl_get(sess->curl, requrl, &resp); + if (resp) { + printf("%s\n", json_object_to_json_string(resp)); + /* + const char *roomid = json_gets(resp, "room_id"); + if (roomid) { + const char *r = copy_str(roomid); + json_object_put(resp); + return r; + } + */ + } + json_object_put(resp); +} diff --git a/device.h b/device.h new file mode 100644 index 0000000..d1234e7 --- /dev/null +++ b/device.h @@ -0,0 +1,13 @@ +#pragma once + +#include "session.h" + +#ifdef __cplusplus +extern "C" { +#endif /* } */ + +void get_devices(matrix_session *sess); + +#ifdef __cplusplus +} +#endif |