X-Git-Url: https://git.cworth.org/git?p=ttt;a=blobdiff_plain;f=src%2Fttt-server.h;h=5575d105d1a0cba2d534ed7a4cd2de2d00274d35;hp=fef70308dbb59b91df593de7b7fc39c2ba1d85e3;hb=HEAD;hpb=980a478f042f8cf48f4484bb117fab8dafd8b450 diff --git a/src/ttt-server.h b/src/ttt-server.h index fef7030..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,6 +72,64 @@ 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. + * + * 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. + * + * 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. * */