#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 USER_ID "@pscho:matrix.org"\r
-#define ROOM_ID "!XKFUjAsGrSSrpDFIxB: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
- MatrixClientSetAccessToken(&client,\r
- ACCESS_TOKEN);\r
- MatrixClientSetDeviceId(&client,\r
- DEVICE_ID);\r
- MatrixClientSetUserId(&client,\r
- USER_ID);\r
+ MatrixClientLoginPassword(&client,\r
+ USERNAME,\r
+ PASSWORD,\r
+ DEVICE_NAME);\r
\r
- // MatrixMegolmOutSession megolmOutSession;\r
- // MatrixMegolmOutSessionInit(&megolmOutSession);\r
+ MatrixClientUploadDeviceKeys(&client);\r
+ MatrixClientGenerateOnetimeKeys(&client, 10);\r
+ MatrixClientUploadOnetimeKeys(&client);\r
\r
- // MatrixClientSetMegolmOutSession(&client,\r
- // ROOM_ID,\r
- // 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
+ 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
+ MatrixClientDeleteDevice(&client);\r
\r
- MatrixClientShareMegolmOutSession(&client,\r
- USER_ID,\r
- "ULZZOKJBYN",\r
- &client.megolmOutSessions[0]);\r
- \r
- MatrixHttpDeinit(&client);\r
+ MatrixHttpDeinit(&client.hc);\r
\r
return 0;\r
}\r