]> gitweb.ps.run Git - matrix_esp_thesis/blobdiff - examples/SendEncrypted.c
verify device
[matrix_esp_thesis] / examples / SendEncrypted.c
index 2d3bd744dd0fdb77d4932c510a96a0263699d3f4..df1d27291185f9a2329226d4c52dd9b1f7b0aea1 100644 (file)
@@ -1,32 +1,69 @@
 #include <matrix.h>\r
+#include <stdio.h>\r
 \r
-#define SERVER FixedBuf("matrix.org")\r
-#define ACCESS_TOKEN FixedBuf("abc")\r
-#define ROOM_ID FixedBuf("!jhpZBTbckszblMYjMK:matrix.org")\r
+#define SERVER       "https://matrix.org"\r
+#define USER_ID      "@pscho:matrix.org"\r
+#define ROOM_ID      "!XKFUjAsGrSSrpDFIxB:matrix.org"\r
 \r
 int\r
-main(\r
-    int argc,\r
-    char **argv)\r
+main(void)\r
 {\r
     MatrixClient client;\r
-    MatrixClientCreate(&client,\r
+    MatrixClientInit(&client,\r
         SERVER);\r
+    \r
+    MatrixHttpInit(&client);\r
 \r
-    MatrixClientSetAccessToken(&client,\r
-        ACCESS_TOKEN);\r
+    MatrixClientSetUserId(&client, USER_ID);\r
 \r
-    MatrixMegolmSession megolm;\r
-    MatrixMegolmSessionInit(&megolm);\r
-        \r
-    MatrixRoomShareMegolmSession(&client,\r
+    MatrixClientLoginPassword(&client,\r
+        "pscho",\r
+        "Wc23EbmB9G3faMq",\r
+        "Test1");\r
+\r
+    MatrixClientUploadDeviceKey(&client);\r
+    MatrixClientGenerateOnetimeKeys(&client, 10);\r
+    MatrixClientUploadOnetimeKeys(&client);\r
+\r
+    // // get device key\r
+    // static char deviceKey[128];\r
+    // MatrixClientGetDeviceKey(&client,\r
+    //     "ULZZOKJBYN",\r
+    //     deviceKey, 128);\r
+    // printf("device key for %s: %s\n", "ULZZOKJBYN", deviceKey);\r
+\r
+    // create megolmsession\r
+    MatrixMegolmOutSession * megolmOutSession;\r
+    MatrixClientGetMegolmOutSession(&client,\r
         ROOM_ID,\r
-        megolm);\r
-    \r
-    MatrixClientSendGroupEncrypted(&client,\r
+        &megolmOutSession);\r
+    printf("megolm session id: %.10s... key: %.10s...\n", megolmOutSession->id, megolmOutSession->key);\r
+\r
+    // // create olmsession\r
+    // MatrixOlmSession * olmSession;\r
+    // MatrixClientGetOlmSession(&client,\r
+    //     USER_ID,\r
+    //     "ULZZOKJBYN",\r
+    //     &olmSession);\r
+    // printf("olm session created\n");\r
+\r
+    MatrixClientShareMegolmOutSession(&client,\r
+        USER_ID,\r
+        "ULZZOKJBYN",\r
+        megolmOutSession);\r
+    // MatrixClientShareMegolmOutSessionTest(&client,\r
+    //     USER_ID,\r
+    //     "ULZZOKJBYN",\r
+    //     megolmOutSession);\r
+\r
+    MatrixClientSendEventEncrypted(&client,\r
         ROOM_ID,\r
-        FixedBuf("m.room.message"),\r
-        FixedBuf("{\"body\":\"Hello\",\"msgtype\":\"m.text\"}"));\r
+        "m.room.message",\r
+        "{\"body\":\"Hello\",\"msgtype\":\"m.text\"}");\r
+        \r
+    MatrixClientDeleteDevice(&client);\r
+\r
+    MatrixHttpDeinit(&client);\r
 \r
     return 0;\r
-}
\ No newline at end of file
+}\r