summaryrefslogtreecommitdiff
path: root/src/libtracker-common/tracker-parser.h
diff options
context:
space:
mode:
authorPhilip Van Hoof <philip@codeminded.be>2014-12-01 14:07:16 +0100
committerPhilip Van Hoof <philip@codeminded.be>2014-12-01 14:07:16 +0100
commit5d05f68da10ef5a2c25fba4246120ce525035d51 (patch)
treef40db3e46953ef15f0dc7db5a5685711cbd79f18 /src/libtracker-common/tracker-parser.h
parent8d64b9783d3aebff2d9259068c402a9e1c1a81e4 (diff)
downloadtracker-5d05f68da10ef5a2c25fba4246120ce525035d51.tar.gz
Refactor tracker-parser to be located in libtracker-common
This also fixes the unaccenting SPARQL function in case of --disable-tracker-fts
Diffstat (limited to 'src/libtracker-common/tracker-parser.h')
-rw-r--r--src/libtracker-common/tracker-parser.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/libtracker-common/tracker-parser.h b/src/libtracker-common/tracker-parser.h
new file mode 100644
index 000000000..e6cb10e06
--- /dev/null
+++ b/src/libtracker-common/tracker-parser.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2006, Jamie McCracken <jamiemcc@gnome.org>
+ * Copyright (C) 2008, Nokia <ivan.frade@nokia.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ */
+
+#ifndef __LIBTRACKER_FTS_PARSER_H__
+#define __LIBTRACKER_FTS_PARSER_H__
+
+#include <glib.h>
+
+#include <libtracker-common/tracker-language.h>
+
+G_BEGIN_DECLS
+
+typedef struct TrackerParser TrackerParser;
+
+TrackerParser *tracker_parser_new (TrackerLanguage *language);
+
+void tracker_parser_reset (TrackerParser *parser,
+ const gchar *txt,
+ gint txt_size,
+ guint max_word_length,
+ gboolean enable_stemmer,
+ gboolean enable_unaccent,
+ gboolean ignore_stop_words,
+ gboolean ignore_reserved_words,
+ gboolean ignore_numbers);
+
+const gchar * tracker_parser_next (TrackerParser *parser,
+ gint *position,
+ gint *byte_offset_start,
+ gint *byte_offset_end,
+ gboolean *stop_word,
+ gint *word_length);
+
+void tracker_parser_free (TrackerParser *parser);
+
+/* Other helper methods */
+
+gboolean tracker_parser_unaccent_nfkd_string (gpointer str,
+ gsize *str_length);
+
+G_END_DECLS
+
+#endif /* __LIBTRACKER_FTS_PARSER_H__ */