aboutsummaryrefslogtreecommitdiff
path: root/src/fs
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2015-05-30 18:35:07 +0000
committerChristian Grothoff <christian@grothoff.org>2015-05-30 18:35:07 +0000
commit88270ad1b167cb143b79abad36c6c6bcb0034253 (patch)
treec1bacf2a99252aef6408feeadf481325a808b16b /src/fs
parent64730192bb58359defd8a49c0554c731a4a06e29 (diff)
downloadgnunet-gtk-88270ad1b167cb143b79abad36c6c6bcb0034253.tar.gz
gnunet-gtk-88270ad1b167cb143b79abad36c6c6bcb0034253.zip
make libextractor actually optional, both for GNUnet and GNUnet-taler builds
Diffstat (limited to 'src/fs')
-rw-r--r--src/fs/gnunet-fs-gtk.h2
-rw-r--r--src/fs/gnunet-fs-gtk_common.c3
-rw-r--r--src/fs/gnunet-fs-gtk_common.h2
-rw-r--r--src/fs/gnunet-fs-gtk_event-handler.c2
-rw-r--r--src/fs/gnunet-fs-gtk_publish-edit-dialog.c22
-rw-r--r--src/fs/metatypes.c14
6 files changed, 41 insertions, 4 deletions
diff --git a/src/fs/gnunet-fs-gtk.h b/src/fs/gnunet-fs-gtk.h
index 78f4fb47..78d795f9 100644
--- a/src/fs/gnunet-fs-gtk.h
+++ b/src/fs/gnunet-fs-gtk.h
@@ -31,7 +31,9 @@
31#include <gnunet/gnunet_gns_service.h> 31#include <gnunet/gnunet_gns_service.h>
32#include <gnunet/gnunet_identity_service.h> 32#include <gnunet/gnunet_identity_service.h>
33#include <gnunet/gnunet_namestore_service.h> 33#include <gnunet/gnunet_namestore_service.h>
34#if HAVE_EXTRACTOR_H
34#include <extractor.h> 35#include <extractor.h>
36#endif
35 37
36 38
37/** 39/**
diff --git a/src/fs/gnunet-fs-gtk_common.c b/src/fs/gnunet-fs-gtk_common.c
index f4cb65ee..eba63e62 100644
--- a/src/fs/gnunet-fs-gtk_common.c
+++ b/src/fs/gnunet-fs-gtk_common.c
@@ -112,8 +112,10 @@ GNUNET_FS_GTK_add_meta_data_to_list_store (void *cls, const char *plugin_name,
112 type, 112 type,
113 GNUNET_GTK_FS_MAIN_WINDOW_META_DATA_MC_META_FORMAT, 113 GNUNET_GTK_FS_MAIN_WINDOW_META_DATA_MC_META_FORMAT,
114 format, 114 format,
115#if HAVE_EXTRACTOR
115 GNUNET_GTK_FS_MAIN_WINDOW_META_DATA_MC_META_TYPE_STRING, 116 GNUNET_GTK_FS_MAIN_WINDOW_META_DATA_MC_META_TYPE_STRING,
116 EXTRACTOR_metatype_to_string (type), 117 EXTRACTOR_metatype_to_string (type),
118#endif
117 GNUNET_GTK_FS_MAIN_WINDOW_META_DATA_MC_META_VALUE, 119 GNUNET_GTK_FS_MAIN_WINDOW_META_DATA_MC_META_VALUE,
118 data_to_insert, 120 data_to_insert,
119 -1); 121 -1);
@@ -237,7 +239,6 @@ GNUNET_FS_GTK_get_description_from_metadata (const struct GNUNET_CONTAINER_MetaD
237 EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME, 239 EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME,
238 EXTRACTOR_METATYPE_FILENAME, 240 EXTRACTOR_METATYPE_FILENAME,
239 EXTRACTOR_METATYPE_DESCRIPTION, 241 EXTRACTOR_METATYPE_DESCRIPTION,
240 EXTRACTOR_METATYPE_SUMMARY,
241 EXTRACTOR_METATYPE_ALBUM, 242 EXTRACTOR_METATYPE_ALBUM,
242 EXTRACTOR_METATYPE_COMMENT, 243 EXTRACTOR_METATYPE_COMMENT,
243 EXTRACTOR_METATYPE_SUBJECT, 244 EXTRACTOR_METATYPE_SUBJECT,
diff --git a/src/fs/gnunet-fs-gtk_common.h b/src/fs/gnunet-fs-gtk_common.h
index 2cb24d62..d90a7307 100644
--- a/src/fs/gnunet-fs-gtk_common.h
+++ b/src/fs/gnunet-fs-gtk_common.h
@@ -28,7 +28,9 @@
28 28
29#include "gnunet_gtk.h" 29#include "gnunet_gtk.h"
30#include <gnunet/gnunet_fs_service.h> 30#include <gnunet/gnunet_fs_service.h>
31#if HAVE_EXTRACTOR_H
31#include <extractor.h> 32#include <extractor.h>
33#endif
32 34
33 35
34/** 36/**
diff --git a/src/fs/gnunet-fs-gtk_event-handler.c b/src/fs/gnunet-fs-gtk_event-handler.c
index bfb8645a..fc256184 100644
--- a/src/fs/gnunet-fs-gtk_event-handler.c
+++ b/src/fs/gnunet-fs-gtk_event-handler.c
@@ -2096,7 +2096,9 @@ get_mimetype_from_metadata (const struct GNUNET_CONTAINER_MetaData *meta)
2096{ 2096{
2097 return GNUNET_CONTAINER_meta_data_get_first_by_types (meta, 2097 return GNUNET_CONTAINER_meta_data_get_first_by_types (meta,
2098 EXTRACTOR_METATYPE_MIMETYPE, 2098 EXTRACTOR_METATYPE_MIMETYPE,
2099#if HAVE_EXTRACTOR_H
2099 EXTRACTOR_METATYPE_FORMAT, 2100 EXTRACTOR_METATYPE_FORMAT,
2101#endif
2100 -1); 2102 -1);
2101} 2103}
2102 2104
diff --git a/src/fs/gnunet-fs-gtk_publish-edit-dialog.c b/src/fs/gnunet-fs-gtk_publish-edit-dialog.c
index efa9a587..3102d016 100644
--- a/src/fs/gnunet-fs-gtk_publish-edit-dialog.c
+++ b/src/fs/gnunet-fs-gtk_publish-edit-dialog.c
@@ -293,9 +293,11 @@ static void
293change_metatypes (struct EditPublicationDialogContext *ctx, gint code) 293change_metatypes (struct EditPublicationDialogContext *ctx, gint code)
294{ 294{
295 gint pubtype_count; 295 gint pubtype_count;
296#if HAVE_EXTRACTOR
296 gint max_type; 297 gint max_type;
297 gint i; 298 gint i;
298 GtkTreeIter iter; 299 GtkTreeIter iter;
300#endif
299 301
300 /* double-check that 'code' is valid */ 302 /* double-check that 'code' is valid */
301 for (pubtype_count = 0; NULL != types[pubtype_count]; pubtype_count++) ; 303 for (pubtype_count = 0; NULL != types[pubtype_count]; pubtype_count++) ;
@@ -303,6 +305,7 @@ change_metatypes (struct EditPublicationDialogContext *ctx, gint code)
303 305
304 /* clear existing selection of metatypes */ 306 /* clear existing selection of metatypes */
305 gtk_list_store_clear (ctx->metatypes_liststore); 307 gtk_list_store_clear (ctx->metatypes_liststore);
308#if HAVE_EXTRACTOR
306 max_type = EXTRACTOR_metatype_get_max (); 309 max_type = EXTRACTOR_metatype_get_max ();
307 /* add new types based on selection */ 310 /* add new types based on selection */
308 for (i = 0; types[code][i] != EXTRACTOR_METATYPE_RESERVED; i++) 311 for (i = 0; types[code][i] != EXTRACTOR_METATYPE_RESERVED; i++)
@@ -320,6 +323,7 @@ change_metatypes (struct EditPublicationDialogContext *ctx, gint code)
320 EXTRACTOR_metatype_to_description 323 EXTRACTOR_metatype_to_description
321 (types[code][i]), 324 (types[code][i]),
322 -1); 325 -1);
326#endif
323} 327}
324 328
325 329
@@ -403,10 +407,12 @@ GNUNET_GTK_edit_publication_metadata_tree_view_type_renderer_edited_cb (GtkCellR
403 gtk_list_store_set (ctx->meta_liststore, &iter, 407 gtk_list_store_set (ctx->meta_liststore, &iter,
404 PUBLISH_METADATA_MC_TYPE, type_id, 408 PUBLISH_METADATA_MC_TYPE, type_id,
405 PUBLISH_METADATA_MC_FORMAT, EXTRACTOR_METAFORMAT_UTF8, 409 PUBLISH_METADATA_MC_FORMAT, EXTRACTOR_METAFORMAT_UTF8,
410#if HAVE_EXTRACTOR
406 PUBLISH_METADATA_MC_TYPE_NAME, 411 PUBLISH_METADATA_MC_TYPE_NAME,
407 EXTRACTOR_metatype_to_string (type_id), 412 EXTRACTOR_metatype_to_string (type_id),
408 PUBLISH_METADATA_MC_DESCRIPTION, 413 PUBLISH_METADATA_MC_DESCRIPTION,
409 EXTRACTOR_metatype_to_description (type_id), 414 EXTRACTOR_metatype_to_description (type_id),
415#endif
410 -1); 416 -1);
411} 417}
412 418
@@ -920,16 +926,26 @@ static char *
920get_mime_type (const void *data, 926get_mime_type (const void *data,
921 gsize data_size) 927 gsize data_size)
922{ 928{
929#if HAVE_EXTRACTOR
923 char *ret; 930 char *ret;
924 struct EXTRACTOR_PluginList *pl; 931 struct EXTRACTOR_PluginList *pl;
925 932
926 pl = EXTRACTOR_plugin_add (NULL, "mime", NULL, EXTRACTOR_OPTION_DEFAULT_POLICY); 933 pl = EXTRACTOR_plugin_add (NULL,
934 "mime",
935 NULL,
936 EXTRACTOR_OPTION_DEFAULT_POLICY);
927 if (NULL == pl) 937 if (NULL == pl)
928 return NULL; 938 return NULL;
929 ret = NULL; 939 ret = NULL;
930 EXTRACTOR_extract (pl, NULL, data, data_size, &le_callback, &ret); 940 EXTRACTOR_extract (pl,
941 NULL,
942 data, data_size,
943 &le_callback, &ret);
931 EXTRACTOR_plugin_remove_all (pl); 944 EXTRACTOR_plugin_remove_all (pl);
932 return ret; 945 return ret;
946#else
947 return NULL;
948#endif
933} 949}
934 950
935 951
@@ -945,7 +961,7 @@ get_mime_type (const void *data,
945 * @param bo block options (can be modified) 961 * @param bo block options (can be modified)
946 * @param do_index should we index (can be modified) 962 * @param do_index should we index (can be modified)
947 * @param client_info pointer to client context set upon creation (can be modified) 963 * @param client_info pointer to client context set upon creation (can be modified)
948 * @return GNUNET_SYSERR (aborts after first call) 964 * @return #GNUNET_SYSERR (aborts after first call)
949 */ 965 */
950static int 966static int
951file_information_update (void *cls, struct GNUNET_FS_FileInformation *fi, 967file_information_update (void *cls, struct GNUNET_FS_FileInformation *fi,
diff --git a/src/fs/metatypes.c b/src/fs/metatypes.c
index c722aef2..1c1ae6fc 100644
--- a/src/fs/metatypes.c
+++ b/src/fs/metatypes.c
@@ -8,10 +8,12 @@ gint types_generic[] = {
8 EXTRACTOR_METATYPE_SUBJECT, 8 EXTRACTOR_METATYPE_SUBJECT,
9 EXTRACTOR_METATYPE_DESCRIPTION, 9 EXTRACTOR_METATYPE_DESCRIPTION,
10 EXTRACTOR_METATYPE_COMMENT, 10 EXTRACTOR_METATYPE_COMMENT,
11#if HAVE_EXTRACTOR_H
11 EXTRACTOR_METATYPE_COPYRIGHT, 12 EXTRACTOR_METATYPE_COPYRIGHT,
12 EXTRACTOR_METATYPE_URI, 13 EXTRACTOR_METATYPE_URI,
13 EXTRACTOR_METATYPE_CREATOR, 14 EXTRACTOR_METATYPE_CREATOR,
14 EXTRACTOR_METATYPE_CREATION_DATE, 15 EXTRACTOR_METATYPE_CREATION_DATE,
16#endif
15 EXTRACTOR_METATYPE_RESERVED 17 EXTRACTOR_METATYPE_RESERVED
16}; 18};
17 19
@@ -22,6 +24,7 @@ gint types_text[] =
22 EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME, 24 EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME,
23 EXTRACTOR_METATYPE_TITLE, 25 EXTRACTOR_METATYPE_TITLE,
24 EXTRACTOR_METATYPE_KEYWORDS, 26 EXTRACTOR_METATYPE_KEYWORDS,
27#if HAVE_EXTRACTOR_H
25 EXTRACTOR_METATYPE_ABSTRACT, 28 EXTRACTOR_METATYPE_ABSTRACT,
26 EXTRACTOR_METATYPE_SUMMARY, 29 EXTRACTOR_METATYPE_SUMMARY,
27 EXTRACTOR_METATYPE_SUBJECT, 30 EXTRACTOR_METATYPE_SUBJECT,
@@ -58,6 +61,7 @@ gint types_text[] =
58 EXTRACTOR_METATYPE_TEMPLATE, 61 EXTRACTOR_METATYPE_TEMPLATE,
59 EXTRACTOR_METATYPE_REVISION_HISTORY, 62 EXTRACTOR_METATYPE_REVISION_HISTORY,
60 EXTRACTOR_METATYPE_REVISION_NUMBER, 63 EXTRACTOR_METATYPE_REVISION_NUMBER,
64#endif
61 EXTRACTOR_METATYPE_RESERVED 65 EXTRACTOR_METATYPE_RESERVED
62}; 66};
63 67
@@ -68,6 +72,7 @@ gint types_music[] =
68 EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME, 72 EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME,
69 EXTRACTOR_METATYPE_TITLE, 73 EXTRACTOR_METATYPE_TITLE,
70 EXTRACTOR_METATYPE_ARTIST, 74 EXTRACTOR_METATYPE_ARTIST,
75#if HAVE_EXTRACTOR_H
71 EXTRACTOR_METATYPE_COMPOSER, 76 EXTRACTOR_METATYPE_COMPOSER,
72 EXTRACTOR_METATYPE_CONDUCTOR, 77 EXTRACTOR_METATYPE_CONDUCTOR,
73 EXTRACTOR_METATYPE_ALBUM, 78 EXTRACTOR_METATYPE_ALBUM,
@@ -101,6 +106,7 @@ gint types_music[] =
101 EXTRACTOR_METATYPE_ORIGINAL_PERFORMER, 106 EXTRACTOR_METATYPE_ORIGINAL_PERFORMER,
102 EXTRACTOR_METATYPE_MUSICIAN_CREDITS_LIST, 107 EXTRACTOR_METATYPE_MUSICIAN_CREDITS_LIST,
103 EXTRACTOR_METATYPE_SUBTITLE, 108 EXTRACTOR_METATYPE_SUBTITLE,
109#endif
104 EXTRACTOR_METATYPE_RESERVED 110 EXTRACTOR_METATYPE_RESERVED
105}; 111};
106 112
@@ -110,6 +116,7 @@ gint types_video[] =
110 EXTRACTOR_METATYPE_MIMETYPE, 116 EXTRACTOR_METATYPE_MIMETYPE,
111 EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME, 117 EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME,
112 EXTRACTOR_METATYPE_TITLE, 118 EXTRACTOR_METATYPE_TITLE,
119#if HAVE_EXTRACTOR_H
113 EXTRACTOR_METATYPE_GENRE, 120 EXTRACTOR_METATYPE_GENRE,
114 EXTRACTOR_METATYPE_KEYWORDS, 121 EXTRACTOR_METATYPE_KEYWORDS,
115 EXTRACTOR_METATYPE_SUMMARY, 122 EXTRACTOR_METATYPE_SUMMARY,
@@ -133,6 +140,7 @@ gint types_video[] =
133 EXTRACTOR_METATYPE_LOCATION_COUNTRY_CODE, 140 EXTRACTOR_METATYPE_LOCATION_COUNTRY_CODE,
134 EXTRACTOR_METATYPE_CREATION_DATE, 141 EXTRACTOR_METATYPE_CREATION_DATE,
135 EXTRACTOR_METATYPE_PERFORMER, 142 EXTRACTOR_METATYPE_PERFORMER,
143#endif
136 EXTRACTOR_METATYPE_RESERVED 144 EXTRACTOR_METATYPE_RESERVED
137}; 145};
138 146
@@ -144,6 +152,7 @@ gint types_image[] =
144 EXTRACTOR_METATYPE_TITLE, 152 EXTRACTOR_METATYPE_TITLE,
145 EXTRACTOR_METATYPE_KEYWORDS, 153 EXTRACTOR_METATYPE_KEYWORDS,
146 EXTRACTOR_METATYPE_DESCRIPTION, 154 EXTRACTOR_METATYPE_DESCRIPTION,
155#if HAVE_EXTRACTOR_H
147 EXTRACTOR_METATYPE_IMAGE_DIMENSIONS, 156 EXTRACTOR_METATYPE_IMAGE_DIMENSIONS,
148 EXTRACTOR_METATYPE_IMAGE_RESOLUTION, 157 EXTRACTOR_METATYPE_IMAGE_RESOLUTION,
149 EXTRACTOR_METATYPE_COMMENT, 158 EXTRACTOR_METATYPE_COMMENT,
@@ -156,6 +165,7 @@ gint types_image[] =
156 EXTRACTOR_METATYPE_LOCATION_COUNTRY, 165 EXTRACTOR_METATYPE_LOCATION_COUNTRY,
157 EXTRACTOR_METATYPE_LOCATION_COUNTRY_CODE, 166 EXTRACTOR_METATYPE_LOCATION_COUNTRY_CODE,
158 EXTRACTOR_METATYPE_ORGANIZATION, 167 EXTRACTOR_METATYPE_ORGANIZATION,
168#endif
159 EXTRACTOR_METATYPE_RESERVED 169 EXTRACTOR_METATYPE_RESERVED
160}; 170};
161 171
@@ -167,6 +177,7 @@ gint types_namespace[] =
167 EXTRACTOR_METATYPE_COMMENT, 177 EXTRACTOR_METATYPE_COMMENT,
168 EXTRACTOR_METATYPE_TITLE, 178 EXTRACTOR_METATYPE_TITLE,
169 EXTRACTOR_METATYPE_DESCRIPTION, 179 EXTRACTOR_METATYPE_DESCRIPTION,
180#if HAVE_EXTRACTOR_H
170 EXTRACTOR_METATYPE_COPYRIGHT, 181 EXTRACTOR_METATYPE_COPYRIGHT,
171 EXTRACTOR_METATYPE_RIGHTS, 182 EXTRACTOR_METATYPE_RIGHTS,
172 EXTRACTOR_METATYPE_KEYWORDS, 183 EXTRACTOR_METATYPE_KEYWORDS,
@@ -179,6 +190,7 @@ gint types_namespace[] =
179 EXTRACTOR_METATYPE_RIPPER, 190 EXTRACTOR_METATYPE_RIPPER,
180 EXTRACTOR_METATYPE_PRODUCER, 191 EXTRACTOR_METATYPE_PRODUCER,
181 EXTRACTOR_METATYPE_GROUP, 192 EXTRACTOR_METATYPE_GROUP,
193#endif
182 EXTRACTOR_METATYPE_RESERVED 194 EXTRACTOR_METATYPE_RESERVED
183}; 195};
184 196
@@ -188,6 +200,7 @@ gint types_software[] =
188 EXTRACTOR_METATYPE_MIMETYPE, 200 EXTRACTOR_METATYPE_MIMETYPE,
189 EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME, 201 EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME,
190 EXTRACTOR_METATYPE_PACKAGE_NAME, 202 EXTRACTOR_METATYPE_PACKAGE_NAME,
203#if HAVE_EXTRACTOR_H
191 EXTRACTOR_METATYPE_PACKAGE_VERSION, 204 EXTRACTOR_METATYPE_PACKAGE_VERSION,
192 EXTRACTOR_METATYPE_TARGET_ARCHITECTURE, 205 EXTRACTOR_METATYPE_TARGET_ARCHITECTURE,
193 EXTRACTOR_METATYPE_LICENSE, 206 EXTRACTOR_METATYPE_LICENSE,
@@ -214,6 +227,7 @@ gint types_software[] =
214 EXTRACTOR_METATYPE_LIBRARY_SEARCH_PATH, 227 EXTRACTOR_METATYPE_LIBRARY_SEARCH_PATH,
215 EXTRACTOR_METATYPE_LIBRARY_DEPENDENCY, 228 EXTRACTOR_METATYPE_LIBRARY_DEPENDENCY,
216 EXTRACTOR_METATYPE_UPLOAD_PRIORITY, 229 EXTRACTOR_METATYPE_UPLOAD_PRIORITY,
230#endif
217 EXTRACTOR_METATYPE_RESERVED 231 EXTRACTOR_METATYPE_RESERVED
218}; 232};
219 233