+bool\r
+MatrixClientRequestMegolmInSession(\r
+ MatrixClient * client,\r
+ const char * roomId,\r
+ const char * sessionId,\r
+ const char * senderKey,\r
+ const char * userId,\r
+ const char * deviceId,\r
+ MatrixMegolmInSession * outMegolmInSession)\r
+{\r
+ // TODO: cancel requests\r
+ MatrixClientSendDummy(client, userId, deviceId);\r
+\r
+ static char event[ROOMKEY_REQUEST_SIZE];\r
+ snprintf(event, ROOMKEY_REQUEST_SIZE,\r
+ "{"\r
+ "\"action\":\"request\","\r
+ "\"body\":{"\r
+ "\"algorithm\":\"m.megolm.v1.aes-sha2\","\r
+ "\"room_id\":\"%s\","\r
+ "\"sender_key\":\"%s\","\r
+ "\"session_id\":\"%s\""\r
+ "},"\r
+ "\"request_id\":\"%d\","\r
+ "\"requesting_device_id\":\"%s\""\r
+ "}",\r
+ roomId,\r
+ senderKey,\r
+ sessionId,\r
+ time(NULL),\r
+ client->deviceId);\r
+\r
+ \r
+ MatrixClientSendToDevice(client,\r
+ userId,\r
+ deviceId,\r
+ event,\r
+ "m.room_key_request");\r
+\r
+ return true;\r
+}\r
+\r