## rhythmdb-query-model rhythmdb-query-model |

## Synopsis

    typedef             RhythmDBQueryModelPrivate;
    #define             RHYTHMDB_QUERY_MODEL_SUGGESTED_UPDATE_CHUNK
    RhythmDBQueryModel* rhythmdb_query_model_new            (RhythmDB *db,
                                                             GPtrArray *query,
                                                             GCompareDataFunc sort_func,
                                                             gpointer sort_data,
                                                             GDestroyNotify sort_data_destroy,
                                                             gboolean sort_reverse);
    RhythmDBQueryModel* rhythmdb_query_model_new_empty      (RhythmDB *db);
    void                rhythmdb_query_model_add_entry      (RhythmDBQueryModel *model,
                                                             RhythmDBEntry *entry,
                                                             gint index);
    gboolean            rhythmdb_query_model_remove_entry   (RhythmDBQueryModel *model,
                                                             RhythmDBEntry *entry);
    guint64             rhythmdb_query_model_get_size       (RhythmDBQueryModel *model);
    long                rhythmdb_query_model_get_duration   (RhythmDBQueryModel *model);
    gboolean            rhythmdb_query_model_entry_to_iter  (RhythmDBQueryModel *model,
                                                             RhythmDBEntry *entry,
                                                             GtkTreeIter *iter);
    gboolean            rhythmdb_query_model_has_pending_changes
                                                            (RhythmDBQueryModel *model);

## Description

## Details

### RhythmDBQueryModelPrivate

    typedef struct RhythmDBQueryModelPrivate RhythmDBQueryModelPrivate;

### RHYTHMDB_QUERY_MODEL_SUGGESTED_UPDATE_CHUNK

    #define RHYTHMDB_QUERY_MODEL_SUGGESTED_UPDATE_CHUNK 1024

### rhythmdb_query_model_new ()

    RhythmDBQueryModel* rhythmdb_query_model_new            (RhythmDB *db,
                                                             GPtrArray *query,
                                                             GCompareDataFunc sort_func,
                                                             gpointer sort_data,
                                                             GDestroyNotify sort_data_destroy,
                                                             gboolean sort_reverse);

`db` : |
`query` : |
`sort_func` : |
`sort_data` : |
`sort_data_destroy` : |
`sort_reverse` : |
Returns : |

### rhythmdb_query_model_new_empty ()

    RhythmDBQueryModel* rhythmdb_query_model_new_empty      (RhythmDB *db);

`db` : |
Returns : |

### rhythmdb_query_model_add_entry ()

    void                rhythmdb_query_model_add_entry      (RhythmDBQueryModel *model,
                                                             RhythmDBEntry *entry,
                                                             gint index);

`model` : |
`entry` : |
`index` : |

### rhythmdb_query_model_remove_entry ()

    gboolean            rhythmdb_query_model_remove_entry   (RhythmDBQueryModel *model,
                                                             RhythmDBEntry *entry);

`model` : |
`entry` : |
Returns : |

### rhythmdb_query_model_get_size ()

    guint64             rhythmdb_query_model_get_size       (RhythmDBQueryModel *model);

`model` : |
Returns : |

### rhythmdb_query_model_get_duration ()

    long                rhythmdb_query_model_get_duration   (RhythmDBQueryModel *model);

`model` : |
Returns : |

### rhythmdb_query_model_entry_to_iter ()

    gboolean            rhythmdb_query_model_entry_to_iter  (RhythmDBQueryModel *model,
                                                             RhythmDBEntry *entry,
                                                             GtkTreeIter *iter);

`model` : |
`entry` : |
`iter` : |
Returns : |

### rhythmdb_query_model_has_pending_changes ()

    gboolean            rhythmdb_query_model_has_pending_changes
                                                            (RhythmDBQueryModel *model);

`model` : |
Returns : |