X-Git-Url: https://git.cworth.org/git?p=ttt;a=blobdiff_plain;f=src%2Fttt-server.h;h=5575d105d1a0cba2d534ed7a4cd2de2d00274d35;hp=8f2d34b7c1bd5b2b6c08cef9aa0f8d3867b9b2ec;hb=HEAD;hpb=47ff725ff3b109b94a23ea7c8c07c8b1417e31ef diff --git a/src/ttt-server.h b/src/ttt-server.h index 8f2d34b..5575d10 100644 --- a/src/ttt-server.h +++ b/src/ttt-server.h @@ -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. *