]> gitweb.ps.run Git - matrix_esp_thesis/blob - esp32/esp_project/main/main.c
verify device
[matrix_esp_thesis] / esp32 / esp_project / main / main.c
1 /*\r
2  * SPDX-FileCopyrightText: 2010-2022 Espressif Systems (Shanghai) CO LTD\r
3  *\r
4  * SPDX-License-Identifier: CC0-1.0\r
5  */\r
6 \r
7 #define OLMLIB_VERSION_MAJOR 3\r
8 #define OLMLIB_VERSION_MINOR 2\r
9 #define OLMLIB_VERSION_PATCH 15\r
10 \r
11 #define OLM_STATIC_DEFINE\r
12 \r
13 #include <mongoose.h>\r
14 #include <olm/olm.h>\r
15 #include <matrix.h>\r
16 \r
17 #include <esp_wifi.h>\r
18 \r
19 #define SERVER       "https://matrix.org"\r
20 #define USER_ID      "@pscho:matrix.org"\r
21 #define ROOM_ID      "!XKFUjAsGrSSrpDFIxB:matrix.org"\r
22 \r
23 void\r
24 app_main(void)\r
25 {\r
26     MatrixClient client;\r
27     MatrixClientInit(&client,\r
28         SERVER);\r
29     \r
30     MatrixHttpInit(&client);\r
31 \r
32     MatrixClientSetUserId(&client, USER_ID);\r
33 \r
34     MatrixClientLoginPassword(&client,\r
35         "pscho",\r
36         "Wc23EbmB9G3faMq",\r
37         "Test1");\r
38 \r
39     MatrixClientUploadDeviceKey(&client);\r
40     MatrixClientGenerateOnetimeKeys(&client, 10);\r
41     MatrixClientUploadOnetimeKeys(&client);\r
42 \r
43     // create megolmsession\r
44     MatrixMegolmOutSession * megolmOutSession;\r
45     MatrixClientGetMegolmOutSession(&client,\r
46         ROOM_ID,\r
47         &megolmOutSession);\r
48     printf("megolm session id: %.10s... key: %.10s...\n", megolmOutSession->id, megolmOutSession->key);\r
49 \r
50     MatrixClientShareMegolmOutSession(&client,\r
51         USER_ID,\r
52         "ULZZOKJBYN",\r
53         megolmOutSession);\r
54 \r
55     MatrixClientSendEventEncrypted(&client,\r
56         ROOM_ID,\r
57         "m.room.message",\r
58         "{\"body\":\"Hello\",\"msgtype\":\"m.text\"}");\r
59         \r
60     MatrixClientDeleteDevice(&client);\r
61 \r
62     MatrixHttpDeinit(&client);\r
63 }\r