#define DEVICE_ID_SIZE 20\r
#define EXPIRE_MS_SIZE 20\r
#define REFRESH_TOKEN_SIZE 20\r
-#define MAX_URL_LEN 128\r
+#define MAX_URL_LEN 1024\r
\r
#define OLM_IDENTITY_KEYS_JSON_SIZE 128\r
#define DEVICE_KEY_SIZE 44\r
const char * plaintext,\r
char * outBuffer, int outBufferCap);\r
\r
+bool\r
+MatrixOlmSessionDecrypt(\r
+ MatrixOlmSession * session,\r
+ size_t messageType,\r
+ char * encrypted,\r
+ char * outBuffer, int outBufferCap);\r
+\r
\r
// Matrix Megolm Session\r
\r
OlmInboundGroupSession * session;\r
} MatrixMegolmInSession;\r
\r
+bool\r
+MatrixMegolmInSessionDecrypt(\r
+ MatrixMegolmInSession * megolmInSession,\r
+ const char * encrypted,\r
+ char * outDecrypted, int outDecryptedCap);\r
+\r
typedef struct MatrixMegolmOutSession {\r
char roomId[ROOM_ID_SIZE];\r
\r
bool\r
MatrixClientSync(\r
MatrixClient * client,\r
- char * outSync, int outSyncCap);\r
+ char * outSync, int outSyncCap,\r
+ const char * nextBatch);\r
+\r
+bool\r
+MatrixClientGetRoomEvent(\r
+ MatrixClient * client,\r
+ const char * roomId,\r
+ const char * eventId,\r
+ char * outEvent, int outEventCap);\r
\r
bool\r
MatrixClientShareMegolmOutSession(\r
MatrixClientInitMegolmOutSession(\r
MatrixClient * client,\r
const char * roomId);\r
+ \r
+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, // TODO: remove deviceId (query all devices)\r
+ MatrixMegolmInSession * outMegolmInSession);\r
\r
bool\r
MatrixClientGetOlmSession(\r
const char * message,\r
const char * msgType);\r
\r
+bool\r
+MatrixClientSendDummy(\r
+ MatrixClient * client,\r
+ const char * userId,\r
+ const char * deviceId);\r
+\r
bool\r
MatrixClientRequestDeviceKey(\r
MatrixClient * client,\r