-}
-
-# string_login(CMD, SUMMARY, DETAIL, [[TYPE,NAME,DESCR], [TYPE,NAME,DESCR], ...])
-#
-# Like string(), but the server returns a username, which we squirrel
-# away rather than returning to the caller.
-sub string_login {
- my $cmd = shift;
- my $summary = shift;
- my $detail = shift;
- my $args = shift;
- my $return = shift;
-
- my $cmdc = $cmd;
- $cmdc =~ s/-/_/g;
- # Synchronous C API
- push(@h, "/** \@brief $summary\n",
- " *\n",
- " * $detail\n",
- " *\n",
- c_param_docs($args),
- " * \@return 0 on success, non-0 on error\n",
- " */\n",
- "int disorder_$cmdc(",
- join(", ", "disorder_client *c",
- map(c_in_decl($_), @$args)),
- ");\n");
- push(@c, "int disorder_$cmdc(",
- join(", ", "disorder_client *c",
- map(c_in_decl($_), @$args)),
- ") {\n",
- " char *u;\n",
- " int rc;\n",
- " if((rc = disorder_simple(c, &u, \"$cmd\"",
- map(", $_->[1]", @$args),
- " )))\n",
- " return rc;\n",
- " c->user = u;\n",
- " return 0;\n",
- "}\n\n");
-
- # Asynchronous C API
- # TODO
-
- # Python API
- # TODO
-
- # Java API
- # TODO