From: Markus Teich Date: Wed, 11 Jan 2017 13:50:29 +0000 (+0100) Subject: cmdline for auction-create X-Git-Tag: taler-0.2.1~464 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=78674f13e2ba87b026d9c242f91f602aee42774d;p=oweals%2Fgnunet.git cmdline for auction-create --- diff --git a/src/auction/.gitignore b/src/auction/.gitignore index 768cce85b..5c3ec20cb 100644 --- a/src/auction/.gitignore +++ b/src/auction/.gitignore @@ -1,3 +1,5 @@ -gnunet-auction +gnunet-auction-create +gnunet-auction-info +gnunet-auction-join gnunet-service-auction test_auction_api diff --git a/src/auction/Makefile.am b/src/auction/Makefile.am index 0ced1ad22..18a3e5604 100644 --- a/src/auction/Makefile.am +++ b/src/auction/Makefile.am @@ -16,18 +16,29 @@ if USE_COVERAGE AM_CFLAGS = -fprofile-arcs -ftest-coverage endif -# Note: In a real installation, -# bin_PROGRAMS should be used for gnunet-auction -# libexec_PROGRAMS should be used for gnunet-service-auction +# use bin_PROGRAMS for gnunet-auction wrapper script -noinst_PROGRAMS = \ - gnunet-auction \ +libexec_PROGRAMS = \ + gnunet-auction-create \ + gnunet-auction-info \ + gnunet-auction-join \ gnunet-service-auction +gnunet_auction_create_SOURCES = \ + gnunet-auction-create.c +gnunet_auction_create_LDADD = \ + $(top_builddir)/src/util/libgnunetutil.la \ + $(GN_LIBINTL) + +gnunet_auction_info_SOURCES = \ + gnunet-auction-info.c +gnunet_auction_info_LDADD = \ + $(top_builddir)/src/util/libgnunetutil.la \ + $(GN_LIBINTL) -gnunet_auction_SOURCES = \ - gnunet-auction.c -gnunet_auction_LDADD = \ +gnunet_auction_join_SOURCES = \ + gnunet-auction-join.c +gnunet_auction_join_LDADD = \ $(top_builddir)/src/util/libgnunetutil.la \ $(GN_LIBINTL) diff --git a/src/auction/gnunet-auction-create.c b/src/auction/gnunet-auction-create.c new file mode 100644 index 000000000..fd3fcdabe --- /dev/null +++ b/src/auction/gnunet-auction-create.c @@ -0,0 +1,100 @@ +/* + This file is part of GNUnet. + Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007, 2009 GNUnet e.V. + + GNUnet is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3, or (at your + option) any later version. + + GNUnet is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNUnet; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. + */ + +/** + * @file auction/gnunet-auction-create.c + * @brief tool to create a new auction + * @author Markus Teich + */ +#include "platform.h" +#include "gnunet_util_lib.h" +/* #include "gnunet_auction_service.h" */ + +static int ret; /** Final status code. */ +static char *fndesc; /** filename of the item description */ +static char *fnprices; /** filename of the price map */ +static struct GNUNET_TIME_Relative dround; /** max round duration */ +static struct GNUNET_TIME_Relative dstart; /** time until auction starts */ +static unsigned int m = 0; /** auction parameter m */ +static int public = 0; /** public outcome */ + + +/** + * Main function that will be run by the scheduler. + * + * @param cls closure + * @param args remaining command-line arguments + * @param cfgfile name of the configuration file used (for saving, can be NULL!) + * @param cfg configuration + */ +static void +run (void *cls, + char *const *args, + const char *cfgfile, + const struct GNUNET_CONFIGURATION_Handle *cfg) +{ + /* main code here */ +} + + +/** + * The main function. + * + * @param argc number of arguments from the command line + * @param argv command line arguments + * @return 0 ok, 1 on error + */ +int +main (int argc, char *const *argv) +{ + static const struct GNUNET_GETOPT_CommandLineOption options[] = { + {'d', "description", "FILE", + gettext_noop ("description of the item to be sold"), + 1, &GNUNET_GETOPT_set_filename, &fndesc}, + {'c', "costmap", "FILE", + gettext_noop ("mapping of possible prices"), + 1, &GNUNET_GETOPT_set_filename, &fnprices}, + {'r', "roundtime", "DURATION", + gettext_noop ("max duration per round"), + 1, &GNUNET_GETOPT_set_relative_time, &dround}, + {'s', "starttime", "DURATION", + gettext_noop ("duration until auction starts"), + 1, &GNUNET_GETOPT_set_relative_time, &dstart}, + {'m', "m", "NUMBER", + gettext_noop ("number of items to sell, 0 for first price auction"), + 0, &GNUNET_GETOPT_set_uint, &m}, + {'p', "public", NULL, + gettext_noop ("public auction outcome"), + 0, &GNUNET_GETOPT_set_one, &public}, + GNUNET_GETOPT_OPTION_END + }; + if (GNUNET_OK != GNUNET_STRINGS_get_utf8_args (argc, argv, &argc, &argv)) + return 2; + + ret = (GNUNET_OK == + GNUNET_PROGRAM_run (argc, argv, + "gnunet-auction-create", + gettext_noop ("help text"), + options, + &run, + NULL)) ? ret : 1; + GNUNET_free ((void*) argv); + return ret; +} diff --git a/src/auction/gnunet-auction-info.c b/src/auction/gnunet-auction-info.c new file mode 100644 index 000000000..a4af1152a --- /dev/null +++ b/src/auction/gnunet-auction-info.c @@ -0,0 +1,84 @@ +/* + This file is part of GNUnet. + Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007, 2009 GNUnet e.V. + + GNUnet is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3, or (at your + option) any later version. + + GNUnet is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNUnet; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +/** + * @file auction/gnunet-auction.c + * @brief auction for writing a tool + * @author Christian Grothoff + */ +#include "platform.h" +#include "gnunet_util_lib.h" +/* #include "gnunet_auction_service.h" */ + +/** + * Final status code. + */ +static int ret; + + +/** + * Main function that will be run by the scheduler. + * + * @param cls closure + * @param args remaining command-line arguments + * @param cfgfile name of the configuration file used (for saving, can be NULL!) + * @param cfg configuration + */ +static void +run (void *cls, + char *const *args, + const char *cfgfile, + const struct GNUNET_CONFIGURATION_Handle *cfg) +{ + /* main code here */ +} + + +/** + * The main function. + * + * @param argc number of arguments from the command line + * @param argv command line arguments + * @return 0 ok, 1 on error + */ +int +main (int argc, char *const *argv) +{ + static const struct GNUNET_GETOPT_CommandLineOption options[] = { + /* FIMXE: add options here */ + GNUNET_GETOPT_OPTION_END + }; + if (GNUNET_OK != + GNUNET_STRINGS_get_utf8_args (argc, argv, + &argc, &argv)) + return 2; + + ret = (GNUNET_OK == + GNUNET_PROGRAM_run (argc, argv, + "gnunet-auction", + gettext_noop ("help text"), + options, + &run, + NULL)) ? ret : 1; + GNUNET_free ((void*) argv); + return ret; +} + +/* end of gnunet-auction.c */ diff --git a/src/auction/gnunet-auction-join.c b/src/auction/gnunet-auction-join.c new file mode 100644 index 000000000..a4af1152a --- /dev/null +++ b/src/auction/gnunet-auction-join.c @@ -0,0 +1,84 @@ +/* + This file is part of GNUnet. + Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007, 2009 GNUnet e.V. + + GNUnet is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3, or (at your + option) any later version. + + GNUnet is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNUnet; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +/** + * @file auction/gnunet-auction.c + * @brief auction for writing a tool + * @author Christian Grothoff + */ +#include "platform.h" +#include "gnunet_util_lib.h" +/* #include "gnunet_auction_service.h" */ + +/** + * Final status code. + */ +static int ret; + + +/** + * Main function that will be run by the scheduler. + * + * @param cls closure + * @param args remaining command-line arguments + * @param cfgfile name of the configuration file used (for saving, can be NULL!) + * @param cfg configuration + */ +static void +run (void *cls, + char *const *args, + const char *cfgfile, + const struct GNUNET_CONFIGURATION_Handle *cfg) +{ + /* main code here */ +} + + +/** + * The main function. + * + * @param argc number of arguments from the command line + * @param argv command line arguments + * @return 0 ok, 1 on error + */ +int +main (int argc, char *const *argv) +{ + static const struct GNUNET_GETOPT_CommandLineOption options[] = { + /* FIMXE: add options here */ + GNUNET_GETOPT_OPTION_END + }; + if (GNUNET_OK != + GNUNET_STRINGS_get_utf8_args (argc, argv, + &argc, &argv)) + return 2; + + ret = (GNUNET_OK == + GNUNET_PROGRAM_run (argc, argv, + "gnunet-auction", + gettext_noop ("help text"), + options, + &run, + NULL)) ? ret : 1; + GNUNET_free ((void*) argv); + return ret; +} + +/* end of gnunet-auction.c */ diff --git a/src/auction/gnunet-auction.c b/src/auction/gnunet-auction.c deleted file mode 100644 index a4af1152a..000000000 --- a/src/auction/gnunet-auction.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - This file is part of GNUnet. - Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007, 2009 GNUnet e.V. - - GNUnet is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published - by the Free Software Foundation; either version 3, or (at your - option) any later version. - - GNUnet is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with GNUnet; see the file COPYING. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -/** - * @file auction/gnunet-auction.c - * @brief auction for writing a tool - * @author Christian Grothoff - */ -#include "platform.h" -#include "gnunet_util_lib.h" -/* #include "gnunet_auction_service.h" */ - -/** - * Final status code. - */ -static int ret; - - -/** - * Main function that will be run by the scheduler. - * - * @param cls closure - * @param args remaining command-line arguments - * @param cfgfile name of the configuration file used (for saving, can be NULL!) - * @param cfg configuration - */ -static void -run (void *cls, - char *const *args, - const char *cfgfile, - const struct GNUNET_CONFIGURATION_Handle *cfg) -{ - /* main code here */ -} - - -/** - * The main function. - * - * @param argc number of arguments from the command line - * @param argv command line arguments - * @return 0 ok, 1 on error - */ -int -main (int argc, char *const *argv) -{ - static const struct GNUNET_GETOPT_CommandLineOption options[] = { - /* FIMXE: add options here */ - GNUNET_GETOPT_OPTION_END - }; - if (GNUNET_OK != - GNUNET_STRINGS_get_utf8_args (argc, argv, - &argc, &argv)) - return 2; - - ret = (GNUNET_OK == - GNUNET_PROGRAM_run (argc, argv, - "gnunet-auction", - gettext_noop ("help text"), - options, - &run, - NULL)) ? ret : 1; - GNUNET_free ((void*) argv); - return ret; -} - -/* end of gnunet-auction.c */