## rb-history

rb-history

## Synopsis

    typedef             RBHistoryPrivate;
    RBHistory*          rb_history_new                      (gboolean truncate_on_play,
                                                             GFunc destroyer,
                                                             gpointer destroy_userdata);
    void                rb_history_set_destroy_notify       (RBHistory *hist,
                                                             GFunc destroyer,
                                                             gpointer destroy_userdata);
    void                rb_history_set_truncate_on_play     (RBHistory *hist,
                                                             gboolean truncate_on_play);
    void                rb_history_set_maximum_size         (RBHistory *hist,
                                                             guint maximum_size);
    guint               rb_history_length                   (RBHistory *hist);
    RhythmDBEntry*      rb_history_first                    (RBHistory *hist);
    RhythmDBEntry*      rb_history_previous                 (RBHistory *hist);
    RhythmDBEntry*      rb_history_current                  (RBHistory *hist);
    RhythmDBEntry*      rb_history_next                     (RBHistory *hist);
    RhythmDBEntry*      rb_history_last                     (RBHistory *hist);
    void                rb_history_go_first                 (RBHistory *hist);
    void                rb_history_go_previous              (RBHistory *hist);
    void                rb_history_go_next                  (RBHistory *hist);
    void                rb_history_go_last                  (RBHistory *hist);
    void                rb_history_set_playing              (RBHistory *hist,
                                                             RhythmDBEntry *entry);
    void                rb_history_append                   (RBHistory *hist,
                                                             RhythmDBEntry *entry);
    gint                rb_history_get_current_index        (RBHistory *hist);
    void                rb_history_insert_at_index          (RBHistory *hist,
                                                             RhythmDBEntry *entry,
                                                             guint index);
    void                rb_history_remove_entry             (RBHistory *hist,
                                                             RhythmDBEntry *entry);
    void                rb_history_clear                    (RBHistory *hist);
    GPtrArray*          rb_history_dump                     (RBHistory *hist);
    gboolean            rb_history_contains_entry           (RBHistory *hist,
                                                             RhythmDBEntry *entry);

## Description

## Details

### RBHistoryPrivate

    typedef struct RBHistoryPrivate RBHistoryPrivate;

### rb_history_new ()

    RBHistory*          rb_history_new                      (gboolean truncate_on_play,
                                                             GFunc destroyer,
                                                             gpointer destroy_userdata);

`truncate_on_play` : |
`destroyer` : |
`destroy_userdata` : |
Returns : |

### rb_history_set_destroy_notify ()

    void                rb_history_set_destroy_notify       (RBHistory *hist,
                                                             GFunc destroyer,
                                                             gpointer destroy_userdata);

`hist` : |
`destroyer` : |
`destroy_userdata` : |

### rb_history_set_truncate_on_play ()

    void                rb_history_set_truncate_on_play     (RBHistory *hist,
                                                             gboolean truncate_on_play);

`hist` : |
`truncate_on_play` : |

### rb_history_set_maximum_size ()

    void                rb_history_set_maximum_size         (RBHistory *hist,
                                                             guint maximum_size);

`hist` : |
`maximum_size` : |

### rb_history_length ()

    guint               rb_history_length                   (RBHistory *hist);

`hist` : |
Returns : |

### rb_history_first ()

    RhythmDBEntry*      rb_history_first                    (RBHistory *hist);

`hist` : |
Returns : |

### rb_history_previous ()

    RhythmDBEntry*      rb_history_previous                 (RBHistory *hist);

`hist` : |
Returns : |

### rb_history_current ()

    RhythmDBEntry*      rb_history_current                  (RBHistory *hist);

`hist` : |
Returns : |

### rb_history_next ()

    RhythmDBEntry*      rb_history_next                     (RBHistory *hist);

`hist` : |
Returns : |

### rb_history_last ()

    RhythmDBEntry*      rb_history_last                     (RBHistory *hist);

`hist` : |
Returns : |

### rb_history_go_first ()

    void                rb_history_go_first                 (RBHistory *hist);

`hist` : |

### rb_history_go_previous ()

    void                rb_history_go_previous              (RBHistory *hist);

`hist` : |

### rb_history_go_next ()

    void                rb_history_go_next                  (RBHistory *hist);

`hist` : |

### rb_history_go_last ()

    void                rb_history_go_last                  (RBHistory *hist);

`hist` : |

### rb_history_set_playing ()

    void                rb_history_set_playing              (RBHistory *hist,
                                                             RhythmDBEntry *entry);

`hist` : |
`entry` : |

### rb_history_append ()

    void                rb_history_append                   (RBHistory *hist,
                                                             RhythmDBEntry *entry);

`hist` : |
`entry` : |

### rb_history_get_current_index ()

    gint                rb_history_get_current_index        (RBHistory *hist);

`hist` : |
Returns : |

### rb_history_insert_at_index ()

    void                rb_history_insert_at_index          (RBHistory *hist,
                                                             RhythmDBEntry *entry,
                                                             guint index);

`hist` : |
`entry` : |
`index` : |

### rb_history_remove_entry ()

    void                rb_history_remove_entry             (RBHistory *hist,
                                                             RhythmDBEntry *entry);

`hist` : |
`entry` : |

### rb_history_clear ()

    void                rb_history_clear                    (RBHistory *hist);

`hist` : |

### rb_history_dump ()

    GPtrArray*          rb_history_dump                     (RBHistory *hist);

`hist` : |
Returns : |

### rb_history_contains_entry ()

    gboolean            rb_history_contains_entry           (RBHistory *hist,
                                                             RhythmDBEntry *entry);

`hist` : |
`entry` : |
Returns : |