]> gitweb.ps.run Git - matrix_esp_thesis/blobdiff - examples/Login.c
get Login example working with CURL
[matrix_esp_thesis] / examples / Login.c
index 5f07e87c0ff737fc5b02437f05d730a2337dfd68..69ac3a11e21169aa08f120bcc1a73ea3ab998aa9 100644 (file)
@@ -1,27 +1,34 @@
 #include <stdio.h>\r
 #include <matrix.h>\r
+#include <curl/curl.h>\r
 \r
-#define SERVER FixedBuf("matrix.org")\r
-#define USERNAME FixedBuf("@pscho:matrix.org")\r
-#define PASSWORD FixedBuf("abcde")\r
+#define SERVER      "https://matrix.org"\r
+#define USERNAME    "pscho"\r
+#define PASSWORD    "Wc23EbmB9G3faMq"\r
+#define DISPLAYNAME "MatrixClient"\r
 \r
 \r
 int\r
-main(\r
-    int argc,\r
-    char **argv)\r
+main()\r
 {\r
     MatrixClient client;\r
-    MatrixClientInit(&client, SERVER);\r
+    MatrixClientInit(&client, SERVER, strlen(SERVER));\r
+    \r
+    curl_global_init(CURL_GLOBAL_DEFAULT);\r
+    client.httpUserData = (void *)curl_easy_init();\r
 \r
     MatrixClientLoginPassword(&client,\r
-        USERNAME,\r
-        PASSWORD);\r
+        USERNAME, strlen(USERNAME),\r
+        PASSWORD, strlen(PASSWORD),\r
+        DISPLAYNAME, strlen(DISPLAYNAME));\r
 \r
-    static char accessTokenCharBuffer[ACCESS_TOKEN_LEN];\r
-    FixedBuffer accessTokenBuffer = { accessTokenCharBuffer, ACCESS_TOKEN_LEN, 0 };\r
-    MatrixClientGetAccessToken(&client, &accessTokenBuffer);\r
-    printf("Access Token: %.*s\n", accessTokenBuffer.len, (char *)accessTokenBuffer.ptr);\r
+    printf("Access Token: %.*s\n", client.accessTokenLen, client.accessTokenBuffer);\r
+    printf("Device ID: %.*s\n", client.deviceIdLen, client.deviceIdBuffer);\r
+    printf("Expires in (ms): %.*s\n", client.expireMsLen, client.expireMsBuffer);\r
+    printf("Refresh Token: %.*s\n", client.refreshTokenLen, client.refreshTokenBuffer);\r
+    \r
+    curl_easy_cleanup((CURL *)client.httpUserData);\r
+    curl_global_cleanup();\r
 \r
     return 0;\r
 }
\ No newline at end of file