]> gitweb.ps.run Git - matrix_esp_thesis/blobdiff - examples/SendEncrypted.c
remove newline
[matrix_esp_thesis] / examples / SendEncrypted.c
index 2d3bd744dd0fdb77d4932c510a96a0263699d3f4..749037d23b04e2978df113dcf684ee03e1011083 100644 (file)
@@ -1,32 +1,56 @@
 #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       "@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(\r
-    int argc,\r
-    char **argv)\r
+main(void)\r
 {\r
     MatrixClient client;\r
-    MatrixClientCreate(&client,\r
-        SERVER);\r
+    MatrixClientInit(&client);\r
+    \r
+    MatrixHttpInit(&client.hc, SERVER);\r
+\r
+    MatrixClientSetUserId(&client, USER_ID);\r
 \r
-    MatrixClientSetAccessToken(&client,\r
-        ACCESS_TOKEN);\r
+    MatrixClientLoginPassword(&client,\r
+        USERNAME,\r
+        PASSWORD,\r
+        DEVICE_NAME);\r
 \r
-    MatrixMegolmSession megolm;\r
-    MatrixMegolmSessionInit(&megolm);\r
-        \r
-    MatrixRoomShareMegolmSession(&client,\r
+    MatrixClientUploadDeviceKeys(&client);\r
+    MatrixClientGenerateOnetimeKeys(&client, 10);\r
+    MatrixClientUploadOnetimeKeys(&client);\r
+\r
+    // create megolmsession\r
+    MatrixMegolmOutSession * megolmOutSession;\r
+    MatrixClientNewMegolmOutSession(&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
+    MatrixClientShareMegolmOutSession(&client,\r
+        USER_ID,\r
+        DEVICE_ID2,\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.hc);\r
 \r
     return 0;\r
-}
\ No newline at end of file
+}\r