abouttreesummaryrefslogcommitdiff
path: root/src/matrix.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/matrix.h')
-rw-r--r--src/matrix.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/matrix.h b/src/matrix.h
new file mode 100644
index 0000000..d61c59b
--- /dev/null
+++ b/src/matrix.h
@@ -0,0 +1,50 @@
+#ifndef MATRIX__H
+#define MATRIX__H
+
+#include <stdbool.h>
+#include <string.h>
+
+#include <olm/olm.h>
+
+
+
+
+
+typedef struct FixedBuffer {
+ void * ptr;
+ int size;
+ int len;
+} FixedBuffer;
+
+FixedBuffer
+FixedBuf(const char * str);
+
+
+
+#define ACCESS_TOKEN_LEN 20 // TODO: fix
+
+typedef struct MatrixClient {
+ OlmAccount * olmAcc;
+ char accessToken[ACCESS_TOKEN_LEN];
+} MatrixClient;
+
+bool
+MatrixClientInit(
+ MatrixClient * client,
+ FixedBuffer server
+);
+
+bool
+MatrixClientLoginPassword(
+ MatrixClient * client,
+ FixedBuffer username,
+ FixedBuffer password
+);
+
+bool
+MatrixClientGetAccessToken(
+ MatrixClient * client,
+ FixedBuffer * outBuffer
+);
+
+#endif