]> git.cworth.org Git - ttt/blobdiff - src/ttt-server.h
Add a dependency of ttt-client.c on ttt-lex.h to fix the build.
[ttt] / src / ttt-server.h
index 8f2d34b7c1bd5b2b6c08cef9aa0f8d3867b9b2ec..5575d105d1a0cba2d534ed7a4cd2de2d00274d35 100644 (file)
@@ -50,8 +50,8 @@ ttt_server_unregister_client (ttt_server_t *server, ttt_client_t *client);
 /* Send a message to all connected clients.
  *
  * Locking: The server mutex will be acquired and held throughout the
- * execution of this function. Each client mutex may also be acquired
- * and held by functions called during the execution of this function.
+ * execution of this function. Each client mutex will also be acquired
+ * for a portion of the execution of this function.
  *
  * Errors: If an error such as an IO error occurs, this function will
  * not return.
@@ -64,8 +64,7 @@ ttt_server_broadcast (ttt_server_t *server, const char *message);
  * function and will need to be free'd by the caller.
  *
  * Locking: The server mutex will be acquired and held throughout the
- * execution of this function. Each client mutex may also be acquired
- * and held by functions called during the execution of this function.
+ * execution of this function.
  *
  * Errors: If an error such as an IO error occurs, this function will
  * not return.
@@ -73,21 +72,63 @@ ttt_server_broadcast (ttt_server_t *server, const char *message);
 const char*
 ttt_server_who (ttt_server_t *server);
 
-/* Generates the statistics for the user. If the function does not
- * return an error, the response will be allocated in this function
- * and will need to be free'd by the caller.
+/* Checks to see whether a username exists.
+ *
+ * Returns: ttt_server_get_client_from_username(server, username)
+ *
+ * Locking: See ttt_server_get_client_from_username
+ *
+ * Errors: See ttt_server_get_client_from_username
+ */
+ttt_error_t
+ttt_server_verify_username (ttt_server_t *server,
+                           const char *username);
+
+/* Points *client to the client with the supplied username, else
+ * leaves *client unhanged.
+ * 
+ * Returns: TTT_ERROR_NONE, else TTT_ERROR_NO_USER if username not
+ * found. 
+ *
+ * Locking: The server mutex will be acquired and held throughout the
+ * execution of this function.
+ *
+ * Errors: If an error such as an IO error occurs, this function will
+ * not return.
+ */
+ttt_error_t
+ttt_server_get_client_from_username (ttt_server_t *server,
+                                    const char   *username,
+                                    ttt_client_t **client);
+
+/* Adds an invitation
+ * 
+ * Locking: The server mutex will be acquired and held throughout the
+ * execution of this function.
+ *
+ * Errors: If an error such as an IO error occurs, this function will
+ * not return.
+ */
+ttt_error_t
+ttt_server_add_invite (ttt_server_t *server,
+                      ttt_client_t *actor,
+                      ttt_client_t *invitee);
+
+/* Removes an invitation
  *
+ * Returns: TTT_ERROR_NONE, else TTT_ERROR_NO_INVITE if no invite
+ * found.
+ * 
  * Locking: The server mutex will be acquired and held throughout the
- * execution of this function. Each client mutex may also be acquired
- * and held by functions called during the execution of this function.
+ * execution of this function.
  *
  * Errors: If an error such as an IO error occurs, this function will
  * not return.
  */
 ttt_error_t
-ttt_server_statistics (ttt_server_t *server,
-                      const char *username,
-                      char **response);
+ttt_server_remove_invite (ttt_server_t *server,
+                         ttt_client_t *actor,
+                         ttt_client_t *invitee);
 
 /* Gets the server hostname.
  *