## rb-history rb-history — |

## Synopsis

    typedef     RBHistoryPrivate;
    RBHistory*  rb_history_new                  (gboolean truncate_on_play,
                                                 GFunc destroyer,
                                                 gpointer destroy_userdata);
    RBHistory*  rb_history_clone                (RBHistory *orig,
                                                 GFunc callback,
                                                 gpointer 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_clone ()

    RBHistory*  rb_history_clone                (RBHistory *orig,
                                                 GFunc callback,
                                                 gpointer userdata);

`orig` : |
`callback` : |
`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 : |