]> gitweb.ps.run Git - matrix_esp_thesis/blob - examples/SendEncrypted.c
remove rdbg files
[matrix_esp_thesis] / examples / SendEncrypted.c
1 #include <matrix.h>\r
2 #include <stdio.h>\r
3 \r
4 #define SERVER        "https://matrix.org"\r
5 #define USER_ID       "@example:matrix.org"\r
6 #define ROOM_ID       "!example:matrix.org"\r
7 #define USERNAME      ""\r
8 #define PASSWORD      ""\r
9 #define DEVICE_NAME   ""\r
10 \r
11 // device id of another device to share the megolm session with\r
12 // I used the device id of a logged in Element web session\r
13 #define DEVICE_ID2   ""\r
14 \r
15 int\r
16 main(void)\r
17 {\r
18     MatrixClient client;\r
19     MatrixClientInit(&client);\r
20     \r
21     MatrixHttpInit(&client.hc, SERVER);\r
22 \r
23     MatrixClientSetUserId(&client, USER_ID);\r
24 \r
25     MatrixClientLoginPassword(&client,\r
26         USERNAME,\r
27         PASSWORD,\r
28         DEVICE_NAME);\r
29 \r
30     MatrixClientUploadDeviceKeys(&client);\r
31     MatrixClientGenerateOnetimeKeys(&client, 10);\r
32     MatrixClientUploadOnetimeKeys(&client);\r
33 \r
34     // create megolmsession\r
35     MatrixMegolmOutSession * megolmOutSession;\r
36     MatrixClientNewMegolmOutSession(&client,\r
37         ROOM_ID,\r
38         &megolmOutSession);\r
39     printf("megolm session id: %.10s... key: %.10s...\n", megolmOutSession->id, megolmOutSession->key);\r
40 \r
41     MatrixClientShareMegolmOutSession(&client,\r
42         USER_ID,\r
43         DEVICE_ID2,\r
44         megolmOutSession);\r
45 \r
46     MatrixClientSendEventEncrypted(&client,\r
47         ROOM_ID,\r
48         "m.room.message",\r
49         "{\"body\":\"Hello\",\"msgtype\":\"m.text\"}");\r
50     \r
51     MatrixClientDeleteDevice(&client);\r
52 \r
53     MatrixHttpDeinit(&client.hc);\r
54 \r
55     return 0;\r
56 }\r