chiark / gitweb /
A bit more doxygenization.
[disorder] / lib / client.c
index 1dac922363ab7edbe2e6fdbf02384021cc1ab156..c06bdf1617a04587ff0bad706a8689843a98ce69 100644 (file)
 #include "rights.h"
 #include "trackdb.h"
 
+/** @brief Client handle contents */
 struct disorder_client {
-  FILE *fpin, *fpout;
+  /** @brief Stream to read from */
+  FILE *fpin;
+  /** @brief Stream to write to */
+  FILE *fpout;
+  /** @brief Peer description */
   char *ident;
+  /** @brief Username */
   char *user;
+  /** @brief Report errors to @c stderr */
   int verbose;
-  char *last;                          /* last error string */
+  /** @brief Last error string */
+  char *last;
 };
 
 /** @brief Create a new client
@@ -547,6 +555,7 @@ int disorder_playing(disorder_client *c, struct queue_entry **qp) {
   return 0;
 }
 
+/** @brief Fetch the queue, recent list, etc */
 static int disorder_somequeue(disorder_client *c,
                              const char *cmd, struct queue_entry **qp) {
   struct queue_entry *qh, **qt = &qh, *q;
@@ -1139,7 +1148,13 @@ int disorder_register(disorder_client *c, const char *user,
  * @return 0 on success, non-0 on error
  */
 int disorder_confirm(disorder_client *c, const char *confirm) {
-  return disorder_simple(c, 0, "confirm", confirm, (char *)0);
+  char *u;
+  int rc;
+  
+  if(!(rc = dequote(disorder_simple(c, &u, "confirm", confirm, (char *)0),
+                   &u)))
+    c->user = u;
+  return rc;
 }
 
 /** @brief Make a cookie for this login
@@ -1160,6 +1175,15 @@ int disorder_revoke(disorder_client *c) {
   return disorder_simple(c, 0, "revoke", (char *)0);
 }
 
+/** @brief Request a password reminder email
+ * @param c Client
+ * @param user Username
+ * @return 0 on success, non-0 on error
+ */
+int disorder_reminder(disorder_client *c, const char *user) {
+  return disorder_simple(c, 0, "reminder", user, (char *)0);
+}
+
 /*
 Local Variables:
 c-basic-offset:2