diff options
author | Christian Grothoff <christian@grothoff.org> | 2013-05-31 16:27:42 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2013-05-31 16:27:42 +0000 |
commit | 6b8e5711bd0a93296ef9a22602e72c34df5415a4 (patch) | |
tree | 36f96c755201e25d76da9b7dd993459523ee1c69 /src | |
parent | 8590cba90ab53a070d5ce3d8ec8f1a7f4fb4ee23 (diff) | |
download | gnunet-6b8e5711bd0a93296ef9a22602e72c34df5415a4.tar.gz gnunet-6b8e5711bd0a93296ef9a22602e72c34df5415a4.zip |
-skeleton for regex service
Diffstat (limited to 'src')
-rw-r--r-- | src/regex/Makefile.am | 26 | ||||
-rw-r--r-- | src/regex/gnunet-service-regex.c | 81 | ||||
-rw-r--r-- | src/regex/regex.conf.in | 8 | ||||
-rw-r--r-- | src/template/gnunet-service-template.c | 5 |
4 files changed, 117 insertions, 3 deletions
diff --git a/src/regex/Makefile.am b/src/regex/Makefile.am index e88938054..f57b78611 100644 --- a/src/regex/Makefile.am +++ b/src/regex/Makefile.am | |||
@@ -8,6 +8,32 @@ if USE_COVERAGE | |||
8 | AM_CFLAGS = --coverage | 8 | AM_CFLAGS = --coverage |
9 | endif | 9 | endif |
10 | 10 | ||
11 | pkgcfgdir= $(pkgdatadir)/config.d/ | ||
12 | |||
13 | libexecdir= $(pkglibdir)/libexec/ | ||
14 | |||
15 | plugindir = $(libdir)/gnunet | ||
16 | |||
17 | pkgcfg_DATA = \ | ||
18 | regex.conf | ||
19 | |||
20 | libexec_PROGRAMS = \ | ||
21 | gnunet-service-regex | ||
22 | |||
23 | gnunet_service_regex_SOURCES = \ | ||
24 | gnunet-service-regex.c | ||
25 | gnunet_service_regex_LDADD = \ | ||
26 | $(top_builddir)/src/regex/libgnunetregex.la \ | ||
27 | $(top_builddir)/src/dht/libgnunetdht.la \ | ||
28 | $(top_builddir)/src/statistics/libgnunetstatistics.la \ | ||
29 | $(top_builddir)/src/util/libgnunetutil.la \ | ||
30 | $(GN_LIBINTL) | ||
31 | gnunet_service_regex_DEPENDENCIES = \ | ||
32 | libgnunetregex.la | ||
33 | # todo: link files from libgnunetregex statically into gnunet_service_regex, | ||
34 | # rename API prefix to avoid collision with 'libgnunetregexnew'... | ||
35 | |||
36 | # FIXME: shouldn't the block library be in the plugin directory!? | ||
11 | lib_LTLIBRARIES = libgnunetregexblock.la \ | 37 | lib_LTLIBRARIES = libgnunetregexblock.la \ |
12 | libgnunetregex.la \ | 38 | libgnunetregex.la \ |
13 | libgnunetregexnew.la | 39 | libgnunetregexnew.la |
diff --git a/src/regex/gnunet-service-regex.c b/src/regex/gnunet-service-regex.c new file mode 100644 index 000000000..e88d8c336 --- /dev/null +++ b/src/regex/gnunet-service-regex.c | |||
@@ -0,0 +1,81 @@ | |||
1 | /* | ||
2 | This file is part of GNUnet. | ||
3 | (C) 2013 Christian Grothoff (and other contributing authors) | ||
4 | |||
5 | GNUnet is free software; you can redistribute it and/or modify | ||
6 | it under the terms of the GNU General Public License as published | ||
7 | by the Free Software Foundation; either version 3, or (at your | ||
8 | option) any later version. | ||
9 | |||
10 | GNUnet is distributed in the hope that it will be useful, but | ||
11 | WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
13 | General Public License for more details. | ||
14 | |||
15 | You should have received a copy of the GNU General Public License | ||
16 | along with GNUnet; see the file COPYING. If not, write to the | ||
17 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
18 | Boston, MA 02111-1307, USA. | ||
19 | */ | ||
20 | |||
21 | /** | ||
22 | * @file regex/gnunet-service-regex.c | ||
23 | * @brief program that tracks template | ||
24 | * @author Christian Grothoff | ||
25 | */ | ||
26 | #include "platform.h" | ||
27 | #include "gnunet_util_lib.h" | ||
28 | #include "gnunet_regex_lib.h" | ||
29 | #include "regex_ipc.h" | ||
30 | |||
31 | /** | ||
32 | * Task run during shutdown. | ||
33 | * | ||
34 | * @param cls unused | ||
35 | * @param tc unused | ||
36 | */ | ||
37 | static void | ||
38 | cleanup_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
39 | { | ||
40 | /* FIXME: do clean up here */ | ||
41 | } | ||
42 | |||
43 | |||
44 | /** | ||
45 | * Process regex requests. | ||
46 | * | ||
47 | * @param cls closure | ||
48 | * @param server the initialized server | ||
49 | * @param cfg configuration to use | ||
50 | */ | ||
51 | static void | ||
52 | run (void *cls, struct GNUNET_SERVER_Handle *server, | ||
53 | const struct GNUNET_CONFIGURATION_Handle *cfg) | ||
54 | { | ||
55 | static const struct GNUNET_SERVER_MessageHandler handlers[] = { | ||
56 | /* FIXME: add handlers here! */ | ||
57 | {NULL, NULL, 0, 0} | ||
58 | }; | ||
59 | /* FIXME: do setup here */ | ||
60 | GNUNET_SERVER_add_handlers (server, handlers); | ||
61 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &cleanup_task, | ||
62 | NULL); | ||
63 | } | ||
64 | |||
65 | |||
66 | /** | ||
67 | * The main function for the regex service. | ||
68 | * | ||
69 | * @param argc number of arguments from the command line | ||
70 | * @param argv command line arguments | ||
71 | * @return 0 ok, 1 on error | ||
72 | */ | ||
73 | int | ||
74 | main (int argc, char *const *argv) | ||
75 | { | ||
76 | return (GNUNET_OK == | ||
77 | GNUNET_SERVICE_run (argc, argv, "regex", | ||
78 | GNUNET_SERVICE_OPTION_NONE, &run, NULL)) ? 0 : 1; | ||
79 | } | ||
80 | |||
81 | /* end of gnunet-service-regex.c */ | ||
diff --git a/src/regex/regex.conf.in b/src/regex/regex.conf.in new file mode 100644 index 000000000..020b5616d --- /dev/null +++ b/src/regex/regex.conf.in | |||
@@ -0,0 +1,8 @@ | |||
1 | [regex] | ||
2 | AUTOSTART = YES | ||
3 | @UNIXONLY@ PORT = 2107 | ||
4 | HOSTNAME = localhost | ||
5 | HOME = $SERVICEHOME | ||
6 | BINARY = gnunet-service-regex | ||
7 | ACCEPT_FROM = 127.0.0.1; | ||
8 | ACCEPT_FROM6 = ::1; | ||
diff --git a/src/template/gnunet-service-template.c b/src/template/gnunet-service-template.c index 54b7ecc94..9b6ae4849 100644 --- a/src/template/gnunet-service-template.c +++ b/src/template/gnunet-service-template.c | |||
@@ -20,12 +20,11 @@ | |||
20 | 20 | ||
21 | /** | 21 | /** |
22 | * @file template/gnunet-service-template.c | 22 | * @file template/gnunet-service-template.c |
23 | * @brief program that tracks template | 23 | * @brief program that does template |
24 | * @author Christian Grothoff | 24 | * @author Christian Grothoff |
25 | */ | 25 | */ |
26 | #include "platform.h" | 26 | #include "platform.h" |
27 | #include "gnunet_getopt_lib.h" | 27 | #include "gnunet_util_lib.h" |
28 | #include "gnunet_service_lib.h" | ||
29 | 28 | ||
30 | 29 | ||
31 | /** | 30 | /** |