X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=src%2Fttt-server.h;h=80f22bf25b0ffa9ce1884931e59524966fcc5a27;hb=9a3347e8aa9db1618fc0df92103e84d34413ba11;hp=fef70308dbb59b91df593de7b7fc39c2ba1d85e3;hpb=980a478f042f8cf48f4484bb117fab8dafd8b450;p=ttt diff --git a/src/ttt-server.h b/src/ttt-server.h index fef7030..80f22bf 100644 --- a/src/ttt-server.h +++ b/src/ttt-server.h @@ -73,6 +73,67 @@ ttt_server_broadcast (ttt_server_t *server, const char *message); const char* ttt_server_who (ttt_server_t *server); +/* 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. Each client mutex may also be acquired + * and held by functions called during 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. Each client mutex may also be acquired + * and held by functions called during 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. + * + * Errors: If an error such as an IO error occurs, this function will + * not return. + */ +ttt_error_t +ttt_server_remove_invite (ttt_server_t *server, + ttt_client_t *actor, + ttt_client_t *invitee); + /* Gets the server hostname. * */