\r
#include <olm/olm.h>\r
\r
-#include "fixedbuffer.h"\r
\r
\r
+// TODO: fix\r
+#define SERVER_SIZE 20\r
+#define ACCESS_TOKEN_SIZE 40\r
+#define DEVICE_ID_SIZE 20\r
+#define EXPIRE_MS_SIZE 20\r
+#define REFRESH_TOKEN_SIZE 20\r
+#define MAX_URL_LEN 128\r
\r
-#define ACCESS_TOKEN_LEN 20 // TODO: fix\r
\r
typedef struct MatrixClient {\r
- OlmAccount * olmAcc;\r
- char accessToken[ACCESS_TOKEN_LEN];\r
+ OlmAccount * olmAccount;\r
+ OlmSession * olmSession;\r
+ \r
+ char server[SERVER_SIZE];\r
+ char accessTokenBuffer[ACCESS_TOKEN_SIZE];\r
+ char deviceIdBuffer[DEVICE_ID_SIZE];\r
+ char expireMsBuffer[EXPIRE_MS_SIZE];\r
+ char refreshTokenBuffer[REFRESH_TOKEN_SIZE];\r
+\r
+ void * httpUserData;\r
} MatrixClient;\r
\r
bool\r
MatrixClientInit(\r
MatrixClient * client,\r
- FixedBuffer server\r
-);\r
+ const char * server);\r
\r
bool\r
MatrixClientLoginPassword(\r
MatrixClient * client,\r
- FixedBuffer username,\r
- FixedBuffer password\r
-);\r
+ const char * username,\r
+ const char * password,\r
+ const char * displayName);\r
+\r
+bool\r
+MatrixHttpInit(\r
+ MatrixClient * client);\r
+\r
+bool\r
+MatrixHttpDeinit(\r
+ MatrixClient * client);\r
+\r
+bool\r
+MatrixHttpGet(\r
+ MatrixClient * client,\r
+ const char * url,\r
+ char * outResponseBuffer, int outResponseCap);\r
\r
bool\r
-MatrixClientGetAccessToken(\r
+MatrixHttpPost(\r
MatrixClient * client,\r
- FixedBuffer * outBuffer\r
-);\r
+ const char * url,\r
+ const char * requestBuffer,\r
+ char * outResponseBuffer, int outResponseCap);\r
\r
#endif\r