]> git.cworth.org Git - ttt/blobdiff - src/ttt-client.h
2005-11-24 Carl Worth <cworth@cworth.org>
[ttt] / src / ttt-client.h
index b067674fdbc7b2fb7e1696d28462747b38e1fbe5..06af64b079a1a113287a4f1038226632724b1c00 100644 (file)
 
 #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_name (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_name (ttt_client_t *client, const char *name);
 
 #endif /* _TTT_CLIENT_H_ */