]> gitweb.ps.run Git - matrix_esp_thesis/blobdiff - examples/SendEncrypted.c
update code block to include 'c' specifier
[matrix_esp_thesis] / examples / SendEncrypted.c
index 0c4a7c818022479766154f43f2b699453e70a201..749037d23b04e2978df113dcf684ee03e1011083 100644 (file)
@@ -1,38 +1,56 @@
 #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 SERVER        "https://matrix.org"\r
+#define USER_ID       "@example:matrix.org"\r
+#define ROOM_ID       "!example:matrix.org"\r
+#define USERNAME      ""\r
+#define PASSWORD      ""\r
+#define DEVICE_NAME   ""\r
+\r
+// device id of another device to share the megolm session with\r
+// I used the device id of a logged in Element web session\r
+#define DEVICE_ID2   ""\r
 \r
 int\r
 main(void)\r
 {\r
     MatrixClient client;\r
-    MatrixClientInit(&client,\r
-        SERVER);\r
+    MatrixClientInit(&client);\r
     \r
-    MatrixHttpInit(&client);\r
+    MatrixHttpInit(&client.hc, SERVER);\r
+\r
+    MatrixClientSetUserId(&client, USER_ID);\r
+\r
+    MatrixClientLoginPassword(&client,\r
+        USERNAME,\r
+        PASSWORD,\r
+        DEVICE_NAME);\r
 \r
-    MatrixClientSetAccessToken(&client,\r
-        ACCESS_TOKEN);\r
-    MatrixClientSetDeviceId(&client,\r
-        DEVICE_ID);\r
+    MatrixClientUploadDeviceKeys(&client);\r
+    MatrixClientGenerateOnetimeKeys(&client, 10);\r
+    MatrixClientUploadOnetimeKeys(&client);\r
 \r
-    // MatrixMegolmOutSession megolmOutSession;\r
-    // MatrixMegolmOutSessionInit(&megolmOutSession);\r
+    // create megolmsession\r
+    MatrixMegolmOutSession * megolmOutSession;\r
+    MatrixClientNewMegolmOutSession(&client,\r
+        ROOM_ID,\r
+        &megolmOutSession);\r
+    printf("megolm session id: %.10s... key: %.10s...\n", megolmOutSession->id, megolmOutSession->key);\r
 \r
-    // MatrixClientSetMegolmOutSession(&client,\r
-    //     ROOM_ID,\r
-    //     megolmOutSession);\r
+    MatrixClientShareMegolmOutSession(&client,\r
+        USER_ID,\r
+        DEVICE_ID2,\r
+        megolmOutSession);\r
 \r
     MatrixClientSendEventEncrypted(&client,\r
         ROOM_ID,\r
         "m.room.message",\r
         "{\"body\":\"Hello\",\"msgtype\":\"m.text\"}");\r
-        \r
-    MatrixHttpDeinit(&client);\r
+    \r
+    MatrixClientDeleteDevice(&client);\r
+\r
+    MatrixHttpDeinit(&client.hc);\r
 \r
     return 0;\r
 }\r