#include "ttt.h"
-#include "ttt-server.h"
-
#ifndef _TTT_CLIENT_H_
#define _TTT_CLIENT_H_
-typedef struct _ttt_client ttt_client_t;
+#define TTT_CLIENT_BUF_SIZE 1024
+
+/* Create a new client and start a new thread to handle all requests
+ * from the client. */
+void
+ttt_client_new (void *closure, int client_socket);
-/* Create a new ttt_client_t for the given server and given a
- * connected socket.
+/* Send a message to a client.
*
- * Returns: A new ttt_client_t. Call ttt_client_destroy when finished
- * with it.
+ * Locking: The client mutex will be acquired and held throughout the
+ * execution of this function.
*
- * Errors: If any error occurs, (such as out-of-memory), this function
- * will not return.
+ * Errors: If an IO error occurs, this function will not return.
*/
-ttt_client_t *
-ttt_client_create (ttt_server_t *server, int socket);
-
void
-ttt_client_destroy (ttt_client_t *client);
+ttt_client_send (ttt_client_t *client, const char *message);
+
+/* Get a client's name. */
+const char*
+ttt_client_get_username (ttt_client_t *client);
-/* Loop forever handling client requests. Never returns. */
+/* Set a client's name. */
void
-ttt_client_handle_requests (ttt_client_t *client);
+ttt_client_set_username (ttt_client_t *client, const char *username);
+
+/* Return the client's win count */
+int
+ttt_client_get_num_wins (ttt_client_t *client);
#endif /* _TTT_CLIENT_H_ */