Model Readers

Model Readers — Extracting strings from DeeModels

Functions

Types and Values

Includes

#include <dee.h>

Description

The purpose of a DeeModelReader is to extract string from a DeeModel. These strings are usually passed through a DeeAnalyzer on into a DeeIndex.

Most readers will extract a value of a given type from a given column, but it must be noted that this is not a requirement. The strings may be built from several columns.

Functions

DeeModelReaderFunc ()

gchar *
(*DeeModelReaderFunc) (DeeModel *model,
                       DeeModelIter *iter,
                       gpointer userdata);

Extracts a string from a row in a model.

Parameters

model

The model being indexed

 

iter

The row to extract terms for

 

userdata

The data set when registering the reader.

[closure]

Returns

A newly allocated string with the row data to be indexed. Free with g_free().


dee_model_reader_destroy ()

void
dee_model_reader_destroy (DeeModelReader *reader);

Release resources associated with reader , but does not free the DeeModelReader structure itself.

This will call the destroy() function registered with the reader if it is set.

Parameters

reader

The reader to destroy

 

dee_model_reader_new ()

void
dee_model_reader_new (DeeModelReaderFunc reader_func,
                      gpointer userdata,
                      GDestroyNotify destroy,
                      DeeModelReader *out_reader);

Create a new DeeModelReader with the given parameters. This call will zero the out_reader struct.

Parameters

reader_func

The DeeModelReaderFunc to use for the reader.

[scope notified]

userdata

The user data to pass to reader_func .

[closure][allow-none]

destroy

The GDestroyNotify to call on userdata when disposing of the reader.

[allow-none]

out_reader

A pointer to an uninitialized DeeModelReader struct.

[out]

dee_model_reader_new_for_int32_column ()

void
dee_model_reader_new_for_int32_column (guint column,
                                       DeeModelReader *out_reader);

A DeeModelReader reading a gint32 from a DeeModel at a given column

Parameters

column

The column index to read a gint32 from

 

out_reader

A pointer to a DeeModelReader instance which will have all fields initialized appropriately.

[out]

dee_model_reader_new_for_string_column ()

void
dee_model_reader_new_for_string_column
                               (guint column,
                                DeeModelReader *out_reader);

A DeeModelReader reading a string from a DeeModel at a given column

Parameters

column

The column index to read a string from

 

out_reader

A pointer to a DeeModelReader instance which will have all fields initialized appropriately.

[out]

dee_model_reader_new_for_uint32_column ()

void
dee_model_reader_new_for_uint32_column
                               (guint column,
                                DeeModelReader *out_reader);

A DeeModelReader reading a guint32 from a DeeModel at a given column

Parameters

column

The column index to read a guint32 from

 

out_reader

A pointer to a DeeModelReader instance which will have all fields initialized appropriately.

[out]

dee_model_reader_read ()

gchar *
dee_model_reader_read (DeeModelReader *self,
                       DeeModel *model,
                       DeeModelIter *iter);

Read data from a row in a DeeModel and extract a string representation from it.

Note that generally a DeeModelReader need not be confined to reading from one specific column, although in practice most are.

Parameters

self

The DeeModelReader used to read model

 

model

The DeeModel to read a string from

 

iter

The row to read a string from

 

Returns

A newly allocated string. Free with g_free().

Types and Values

DeeFilter

typedef struct {
  DeeFilterMapFunc   map_func;
  DeeFilterMapNotify map_notify;
  GDestroyNotify     destroy;
  gpointer           userdata;
} DeeFilter;

Structure encapsulating the mapping logic used to construct a DeeFilterModel


DeeModelReader

typedef struct {
  DeeModelReaderFunc reader_func;
  gpointer           userdata;
  GDestroyNotify     destroy;
} DeeModelReader;

Structure encapsulating the information needed to read strings from a model. Used for example by DeeIndex.

Members

DeeModelReaderFunc reader_func;

The DeeModelReaderFunc used to extract string from a model.

[scope notified]

gpointer userdata;

user data to pass to reader_func .

[closure]

GDestroyNotify destroy;

Called when the reader is destroyed