/usr/include/dee-1.0/dee-analyzer.h is in libdee-dev 1.0.10-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | /*
* Copyright (C) 2011 Canonical, Ltd.
*
* This library is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License
* version 3.0 as published by the Free Software Foundation.
*
* 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 version 3.0 for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
* Authored by Mikkel Kamstrup Erlandsen <mikkel.kamstrup@canonical.com>
*/
#if !defined (_DEE_H_INSIDE) && !defined (DEE_COMPILATION)
#error "Only <dee.h> can be included directly."
#endif
#ifndef _HAVE_DEE_ANALYZER_H
#define _HAVE_DEE_ANALYZER_H
#include <glib.h>
#include <glib-object.h>
#include <dee-model.h>
#include <dee-term-list.h>
G_BEGIN_DECLS
#define DEE_TYPE_ANALYZER (dee_analyzer_get_type ())
#define DEE_ANALYZER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
DEE_TYPE_ANALYZER, DeeAnalyzer))
#define DEE_ANALYZER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), \
DEE_TYPE_ANALYZER, DeeAnalyzerClass))
#define DEE_IS_ANALYZER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
DEE_TYPE_ANALYZER))
#define DEE_IS_ANALYZER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), \
DEE_TYPE_ANALYZER))
#define DEE_ANALYZER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), \
DEE_TYPE_ANALYZER, DeeAnalyzerClass))
typedef struct _DeeAnalyzer DeeAnalyzer;
typedef struct _DeeAnalyzerClass DeeAnalyzerClass;
typedef struct _DeeAnalyzerPrivate DeeAnalyzerPrivate;
/**
* DeeCollatorFunc:
* @input: The string to produce a collation key for
* @data: (closure): User data set when registering the collator
*
* A collator takes an input string, most often a term produced from a
* #DeeAnalyzer, and outputs a collation key.
*
* Returns: (transfer full): The collation key. Free with g_free() when done
* using it.
*/
typedef gchar* (*DeeCollatorFunc) (const gchar *input,
gpointer data);
/**
* DeeTermFilterFunc:
* @terms_in: A #DeeTermList with the terms to filter
* @terms_out: A #DeeTermList to write the filtered terms to
* @filter_data: (closure): User data set when registering the filter
*
* A term filter takes a list of terms and runs it through a filtering and/or
* set of transformations and stores the output in a #DeeTermList.
*
* You can register term filters on a #DeeAnalyzer with
* dee_analyzer_add_term_filter().
*
* Returns: Nothing. Output is stored in @terms_out.
*/
typedef void (*DeeTermFilterFunc) (DeeTermList *terms_in,
DeeTermList *terms_out,
gpointer filter_data);
/**
* DeeAnalyzer:
*
* All fields in the DeeAnalyzer structure are private and should never be
* accessed directly
*/
struct _DeeAnalyzer
{
/*< private >*/
GObject parent;
DeeAnalyzerPrivate *priv;
};
struct _DeeAnalyzerClass
{
/*< private >*/
GObjectClass parent_class;
void (*analyze) (DeeAnalyzer *self,
const gchar *data,
DeeTermList *terms_out,
DeeTermList *colkeys_out);
void (*tokenize) (DeeAnalyzer *self,
const gchar *data,
DeeTermList *terms_out);
void (*add_term_filter) (DeeAnalyzer *self,
DeeTermFilterFunc filter_func,
gpointer filter_data,
GDestroyNotify filter_destroy);
gchar* (*collate_key) (DeeAnalyzer *self,
const gchar *data);
gint (*collate_cmp) (DeeAnalyzer *self,
const gchar *key1,
const gchar *key2);
/*< private >*/
void (*_dee_analyzer_1) (void);
void (*_dee_analyzer_2) (void);
void (*_dee_analyzer_3) (void);
void (*_dee_analyzer_4) (void);
};
/**
* dee_analyzer_get_type:
*
* The GType of #DeeAnalyzer
*
* Return value: the #GType of #DeeAnalyzer
**/
GType dee_analyzer_get_type (void);
void dee_analyzer_analyze (DeeAnalyzer *self,
const gchar *data,
DeeTermList *terms_out,
DeeTermList *colkeys_out);
void dee_analyzer_tokenize (DeeAnalyzer *self,
const gchar *data,
DeeTermList *terms_out);
void dee_analyzer_add_term_filter (DeeAnalyzer *self,
DeeTermFilterFunc filter_func,
gpointer filter_data,
GDestroyNotify filter_destroy);
gchar* dee_analyzer_collate_key (DeeAnalyzer *self,
const gchar *data);
gint dee_analyzer_collate_cmp (DeeAnalyzer *self,
const gchar *key1,
const gchar *key2);
gint dee_analyzer_collate_cmp_func (const gchar *key1,
const gchar *key2,
gpointer analyzer);
DeeAnalyzer* dee_analyzer_new (void);
G_END_DECLS
#endif /* _HAVE_DEE_ANALYZER_H */
|