]> gitweb.ps.run Git - matrix_esp_thesis/blobdiff - examples/Cli.c
cli send encrypted & manage megolm session, save/load megolm sessions
[matrix_esp_thesis] / examples / Cli.c
index b2fbe451f967bab7c672e04a8f063a2da9b06cea..4a8e571c9df413bc74b39663511562f25f6c3545 100644 (file)
@@ -133,8 +133,6 @@ ExecuteCommand(
             "{\"body\":\"%s\",\"msgtype\":\"m.text\"}",\r
             args[1]);\r
 \r
-        printf("Sending %s to %s\n", body, args[0]);\r
-\r
         MatrixClientSendEvent(client,\r
             args[0],\r
             "m.room.message",\r
@@ -148,6 +146,43 @@ ExecuteCommand(
     else if (CheckCommand(cmd, "getuserid")) {\r
         printf("User ID: %s\n", client->userId);\r
     }\r
+    else if (CheckCommand(cmd, "sendencrypted")) {\r
+        CHECK_ARGS(2, "<room_id> <message>")\r
+\r
+        static char body[1024];\r
+        snprintf(body, 1024,\r
+            "{\"body\":\"%s\",\"msgtype\":\"m.text\"}",\r
+            args[1]);\r
+\r
+        MatrixClientSendEventEncrypted(client,\r
+            args[0],\r
+            "m.room.message",\r
+            body);\r
+    }\r
+    else if (CheckCommand(cmd, "sharesession")) {\r
+        CHECK_ARGS(2, "<user_id> <device_id>")\r
+\r
+        MatrixClientShareMegolmOutSession(&client,\r
+            args[0],\r
+            args[1],\r
+            &client->megolmOutSessions[0]);\r
+    }\r
+    else if (CheckCommand(cmd, "savesession")) {\r
+        CHECK_ARGS(2, "<filename> <key>")\r
+\r
+        MatrixMegolmOutSessionSave(\r
+            &client->megolmOutSessions[0],\r
+            args[0],\r
+            args[1]);\r
+    }\r
+    else if (CheckCommand(cmd, "loadsession")) {\r
+        CHECK_ARGS(2, "<filename> <key>")\r
+\r
+        MatrixMegolmOutSessionLoad(\r
+            &client->megolmOutSessions[0],\r
+            args[0],\r
+            args[1]);\r
+    }\r
 #undef CHECK_ARGS\r
 }\r
 \r