\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
\r
-typedef struct FixedBuffer {\r
- void * ptr;\r
- int size;\r
- int len;\r
-} FixedBuffer;\r
+typedef struct MatrixClient {\r
+ OlmAccount * olmAccount;\r
+ OlmSession * olmSession;\r
+ \r
+ char server[SERVER_SIZE+1];\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
-FixedBuffer\r
-FixedBuf(const char * str);\r
+bool\r
+MatrixClientInit(\r
+ MatrixClient * client,\r
+ const char * server);\r
\r
+bool\r
+MatrixClientSetAccessToken(\r
+ MatrixClient * client,\r
+ const char * accessToken);\r
\r
+bool\r
+MatrixClientLoginPassword(\r
+ MatrixClient * client,\r
+ const char * username,\r
+ const char * password,\r
+ const char * displayName);\r
+ \r
+bool\r
+MatrixClientSendEvent(\r
+ MatrixClient * client,\r
+ const char * roomId,\r
+ const char * msgType,\r
+ const char * msgBody);\r
\r
-#define ACCESS_TOKEN_LEN 20 // TODO: fix\r
+bool\r
+MatrixHttpInit(\r
+ MatrixClient * client);\r
\r
-typedef struct MatrixClient {\r
- OlmAccount * olmAcc;\r
- char accessToken[ACCESS_TOKEN_LEN];\r
-} MatrixClient;\r
+bool\r
+MatrixHttpDeinit(\r
+ MatrixClient * client);\r
\r
bool\r
-MatrixClientInit(\r
+MatrixHttpGet(\r
MatrixClient * client,\r
- FixedBuffer server\r
-);\r
+ const char * url,\r
+ char * outResponseBuffer, int outResponseCap,\r
+ bool authenticated);\r
\r
bool\r
-MatrixClientLoginPassword(\r
+MatrixHttpPost(\r
MatrixClient * client,\r
- FixedBuffer username,\r
- FixedBuffer password\r
-);\r
+ const char * url,\r
+ const char * requestBuffer,\r
+ char * outResponseBuffer, int outResponseCap,\r
+ bool authenticated);\r
\r
bool\r
-MatrixClientGetAccessToken(\r
+MatrixHttpPut(\r
MatrixClient * client,\r
- FixedBuffer * outBuffer\r
-);\r
+ const char * url,\r
+ const char * requestBuffer,\r
+ char * outResponseBuffer, int outResponseCap,\r
+ bool authenticated);\r
\r
#endif\r