]> gitweb.ps.run Git - matrix_esp_thesis/blobdiff - examples/Decrypt.c
olm session management
[matrix_esp_thesis] / examples / Decrypt.c
diff --git a/examples/Decrypt.c b/examples/Decrypt.c
new file mode 100644 (file)
index 0000000..b496780
--- /dev/null
@@ -0,0 +1,45 @@
+#include <matrix.h>\r
+#include <stdio.h>\r
+\r
+#define SERVER       "https://matrix.org"\r
+#define ACCESS_TOKEN "syt_cHNjaG8_yBvTjVTquGCikvsAenOJ_49mBMO"\r
+#define DEVICE_ID    "MAZNCCZLBR"\r
+#define ROOM_ID      "!koVStwyiiKcBVbXZYz:matrix.org"\r
+#define EVENT_ID     ""\r
+\r
+int\r
+main(void)\r
+{\r
+    MatrixClient client;\r
+    MatrixClientInit(&client,\r
+        SERVER);\r
+    \r
+    MatrixHttpInit(&client);\r
+\r
+    MatrixClientSetAccessToken(&client,\r
+        ACCESS_TOKEN);\r
+\r
+    static char eventBuffer[1024];\r
+    MatrixClientGetRoomEvent(&client,\r
+        ROOM_ID,\r
+        EVENT_ID,\r
+        eventBuffer, 1024);\r
+\r
+    MatrixMegolmInSession megolmSession;\r
+    \r
+    MatrixClientRequestMegolmSession(&client,\r
+        ROOM_ID,\r
+        EVENT_ID,\r
+        &megolmSession);\r
+\r
+    static char decryptedBuffer[1024];\r
+    MatrixMegolmSessionDecrypt(&megolmSession,\r
+        eventBuffer,\r
+        decryptedBuffer, 1024);\r
+\r
+    printf("%s\n", decryptedBuffer);\r
+        \r
+    MatrixHttpDeinit(&client);\r
+\r
+    return 0;\r
+}
\ No newline at end of file