diff options
| author | Patrick | 2023-05-28 16:02:53 +0200 |
|---|---|---|
| committer | Patrick | 2023-05-28 16:02:53 +0200 |
| commit | c1547dd3565f979d08a9e8e9eec8f42956e6901c (patch) | |
| tree | a121d78f25ca2217a7eeb4d272174c26747b946a | |
| parent | edd4eec797ca7985a1510196be3c2be3e6ac90f8 (diff) | |
| download | matrix_esp_thesis-c1547dd3565f979d08a9e8e9eec8f42956e6901c.tar.gz matrix_esp_thesis-c1547dd3565f979d08a9e8e9eec8f42956e6901c.zip | |
dont need length variables everywhere (i think)
| -rw-r--r-- | examples/Login.c | 18 | ||||
| -rw-r--r-- | examples/Send.c | 21 | ||||
| -rw-r--r-- | src/matrix.c | 71 | ||||
| -rw-r--r-- | src/matrix.h | 24 | ||||
| -rw-r--r-- | src/matrix_http_mongoose.c | 12 |
5 files changed, 69 insertions, 77 deletions
diff --git a/examples/Login.c b/examples/Login.c index 1c8e7cd..45204fc 100644 --- a/examples/Login.c +++ b/examples/Login.c @@ -1,6 +1,5 @@ #include <stdio.h>
#include <matrix.h>
-#include <mongoose.h>
#define SERVER "https://matrix.org"
#define USERNAME "pscho"
@@ -12,19 +11,20 @@ int main()
{
MatrixClient client;
- MatrixClientInit(&client, SERVER, strlen(SERVER));
+ MatrixClientInit(&client,
+ SERVER);
MatrixHttpInit(&client);
MatrixClientLoginPassword(&client,
- USERNAME, strlen(USERNAME),
- PASSWORD, strlen(PASSWORD),
- DISPLAYNAME, strlen(DISPLAYNAME));
+ USERNAME,
+ PASSWORD,
+ DISPLAYNAME);
- printf("Access Token: %.*s\n", client.accessTokenLen, client.accessTokenBuffer);
- printf("Device ID: %.*s\n", client.deviceIdLen, client.deviceIdBuffer);
- printf("Expires in (ms): %.*s\n", client.expireMsLen, client.expireMsBuffer);
- printf("Refresh Token: %.*s\n", client.refreshTokenLen, client.refreshTokenBuffer);
+ printf("Access Token: %s\n", client.accessTokenBuffer);
+ printf("Device ID: %s\n", client.deviceIdBuffer);
+ printf("Expires in (ms): %s\n", client.expireMsBuffer);
+ printf("Refresh Token: %s\n", client.refreshTokenBuffer);
MatrixHttpDeinit(&client);
diff --git a/examples/Send.c b/examples/Send.c index 95167cc..8786be9 100644 --- a/examples/Send.c +++ b/examples/Send.c @@ -1,25 +1,26 @@ #include <matrix.h>
-#define SERVER FixedBuf("matrix.org")
-#define ACCESS_TOKEN FixedBuf("abc")
-#define ROOM_ID FixedBuf("!jhpZBTbckszblMYjMK:matrix.org")
+#define SERVER "matrix.org"
+#define ACCESS_TOKEN "syt_cHNjaG8_yBvTjVTquGCikvsAenOJ_49mBMO"
+#define DEVICE_ID "MAZNCCZLBR"
+#define ROOM_ID "!jhpZBTbckszblMYjMK:matrix.org"
int
-main(
- int argc,
- char **argv)
+main()
{
MatrixClient client;
MatrixClientCreate(&client,
- SERVER);
+ SERVER, strlen(SERVER));
+
+ MatrixHttpInit(&client);
MatrixClientSetAccessToken(&client,
- ACCESS_TOKEN);
+ ACCESS_TOKEN, strlen(ACCESS_TOKEN));
MatrixClientSendEvent(&client,
ROOM_ID,
- FixedBuf("m.room.message"),
- FixedBuf("{\"body\":\"Hello\",\"msgtype\":\"m.text\"}"));
+ "m.room.message",
+ "{\"body\":\"Hello\",\"msgtype\":\"m.text\"}");
return 0;
}
\ No newline at end of file diff --git a/src/matrix.c b/src/matrix.c index 790f0f5..5759ba2 100644 --- a/src/matrix.c +++ b/src/matrix.c @@ -12,14 +12,13 @@ bool
MatrixClientInit(
MatrixClient * client,
- char * server, int serverLen)
+ const char * server)
{
strcpy_s(
client->server,
SERVER_SIZE,
server
);
- client->serverLen = serverLen;
return true;
}
@@ -28,54 +27,50 @@ MatrixClientInit( bool
MatrixClientLoginPassword(
MatrixClient * client,
- char * username, int usernameLen,
- char * password, int passwordLen,
- char * displayName, int displayNameLen)
+ const char * username,
+ const char * password,
+ const char * displayName)
{
static char requestBuffer[LOGIN_REQUEST_SIZE];
- int requestLen =
- mjson_snprintf(requestBuffer, LOGIN_REQUEST_SIZE,
- "{"
- "\"type\": \"m.login.password\","
- "\"identifier\": {"
- "\"type\": \"m.id.user\","
- "\"user\": \"%.*s\""
- "},"
- "\"password\": \"%.*s\","
- "\"initial_device_display_name\": \"%.*s\""
- "}",
- usernameLen, username,
- passwordLen, password,
- displayNameLen, displayName);
+ mjson_snprintf(requestBuffer, LOGIN_REQUEST_SIZE,
+ "{"
+ "\"type\": \"m.login.password\","
+ "\"identifier\": {"
+ "\"type\": \"m.id.user\","
+ "\"user\": \"%s\""
+ "},"
+ "\"password\": \"%s\","
+ "\"initial_device_display_name\": \"%s\""
+ "}",
+ username,
+ password,
+ displayName);
static char responseBuffer[LOGIN_RESPONSE_SIZE];
- int responseLen;
bool result =
MatrixHttpPost(client,
LOGIN_URL,
- requestBuffer, requestLen,
- responseBuffer, LOGIN_RESPONSE_SIZE, &responseLen);
+ requestBuffer,
+ responseBuffer, LOGIN_RESPONSE_SIZE);
+
+ int responseLen = strlen(responseBuffer);
if (!result)
return false;
- client->accessTokenLen =
- mjson_get_string(responseBuffer, responseLen,
- "$.access_token",
- client->accessTokenBuffer, ACCESS_TOKEN_SIZE);
- client->deviceIdLen =
- mjson_get_string(responseBuffer, responseLen,
- "$.device_id",
- client->deviceIdBuffer, DEVICE_ID_SIZE);
- client->expireMsLen =
- mjson_get_string(responseBuffer, responseLen,
- "$.expires_in_ms",
- client->expireMsBuffer, EXPIRE_MS_SIZE);
- client->refreshTokenLen =
- mjson_get_string(responseBuffer, responseLen,
- "$.refresh_token",
- client->refreshTokenBuffer, REFRESH_TOKEN_SIZE);
+ mjson_get_string(responseBuffer, responseLen,
+ "$.access_token",
+ client->accessTokenBuffer, ACCESS_TOKEN_SIZE);
+ mjson_get_string(responseBuffer, responseLen,
+ "$.device_id",
+ client->deviceIdBuffer, DEVICE_ID_SIZE);
+ mjson_get_string(responseBuffer, responseLen,
+ "$.expires_in_ms",
+ client->expireMsBuffer, EXPIRE_MS_SIZE);
+ mjson_get_string(responseBuffer, responseLen,
+ "$.refresh_token",
+ client->refreshTokenBuffer, REFRESH_TOKEN_SIZE);
return true;
}
diff --git a/src/matrix.h b/src/matrix.h index b7f3a5b..cd109ce 100644 --- a/src/matrix.h +++ b/src/matrix.h @@ -21,11 +21,11 @@ typedef struct MatrixClient { OlmAccount * olmAccount;
OlmSession * olmSession;
- char server[SERVER_SIZE]; int serverLen;
- char accessTokenBuffer[ACCESS_TOKEN_SIZE]; int accessTokenLen;
- char deviceIdBuffer[DEVICE_ID_SIZE]; int deviceIdLen;
- char expireMsBuffer[EXPIRE_MS_SIZE]; int expireMsLen;
- char refreshTokenBuffer[REFRESH_TOKEN_SIZE]; int refreshTokenLen;
+ char server[SERVER_SIZE];
+ char accessTokenBuffer[ACCESS_TOKEN_SIZE];
+ char deviceIdBuffer[DEVICE_ID_SIZE];
+ char expireMsBuffer[EXPIRE_MS_SIZE];
+ char refreshTokenBuffer[REFRESH_TOKEN_SIZE];
void * httpUserData;
} MatrixClient;
@@ -33,14 +33,14 @@ typedef struct MatrixClient { bool
MatrixClientInit(
MatrixClient * client,
- char * server, int serverLen);
+ const char * server);
bool
MatrixClientLoginPassword(
MatrixClient * client,
- char * username, int usernameLen,
- char * password, int passwordLen,
- char * displayName, int displayNameLen);
+ const char * username,
+ const char * password,
+ const char * displayName);
bool
MatrixHttpInit(
@@ -54,13 +54,13 @@ bool MatrixHttpGet(
MatrixClient * client,
const char * url,
- char * outResponseBuffer, int outResponseCap, int * outResponseLen);
+ char * outResponseBuffer, int outResponseCap);
bool
MatrixHttpPost(
MatrixClient * client,
const char * url,
- char * requestBuffer, int requestLen,
- char * outResponseBuffer, int outResponseCap, int * outResponseLen);
+ const char * requestBuffer,
+ char * outResponseBuffer, int outResponseCap);
#endif
diff --git a/src/matrix_http_mongoose.c b/src/matrix_http_mongoose.c index 3faefa9..d44787c 100644 --- a/src/matrix_http_mongoose.c +++ b/src/matrix_http_mongoose.c @@ -89,7 +89,7 @@ bool MatrixHttpGet(
MatrixClient * client,
const char * url,
- char * outResponseBuffer, int outResponseCap, int * outResponseLen)
+ char * outResponseBuffer, int outResponseCap)
{
MatrixHttpConnection * conn = (MatrixHttpConnection *)client->httpUserData;
@@ -110,8 +110,6 @@ MatrixHttpGet( while (! conn->dataReceived)
mg_mgr_poll(&conn->mgr, 1000);
- *outResponseLen = conn->dataLen;
-
return conn->dataReceived;
}
@@ -119,8 +117,8 @@ bool MatrixHttpPost(
MatrixClient * client,
const char * url,
- char * requestBuffer, int requestLen,
- char * outResponseBuffer, int outResponseCap, int * outResponseLen)
+ const char * requestBuffer,
+ char * outResponseBuffer, int outResponseCap)
{
MatrixHttpConnection * conn = (MatrixHttpConnection *)client->httpUserData;
@@ -138,7 +136,7 @@ MatrixHttpPost( "\r\n",
url,
host.len, host.ptr,
- requestLen,
+ strlen(requestBuffer),
requestBuffer);
conn->data = outResponseBuffer;
@@ -147,7 +145,5 @@ MatrixHttpPost( while (! conn->dataReceived)
mg_mgr_poll(&conn->mgr, 1000);
- *outResponseLen = conn->dataLen;
-
return conn->dataReceived;
}
\ No newline at end of file |
