## RBSource RBSource — |

## Synopsis

    enum        RBSourceEOFType;
                RBSourcePrivate;
    gboolean    (*RBSourceFeatureFunc)          (RBSource *source);
    void        rb_source_notify_filter_changed (RBSource *source);
    void        rb_source_notify_status_changed (RBSource *status);
    void        rb_source_update_play_statistics
                                                (RBSource *source,
                                                 RhythmDB *db,
                                                 RhythmDBEntry *entry);
    char*       rb_source_get_status            (RBSource *source);
    const char* rb_source_get_browser_key       (RBSource *source);
    RBEntryView* rb_source_get_entry_view       (RBSource *source);
    GList*      rb_source_get_extra_views       (RBSource *source);
    GdkPixbuf*  rb_source_get_pixbuf            (RBSource *source);
    gboolean    rb_source_can_rename            (RBSource *source);
    gboolean    rb_source_can_search            (RBSource *source);
    void        rb_source_search                (RBSource *source,
                                                 const char *text);
    void        rb_source_reset_filters         (RBSource *source);
    GtkWidget*  rb_source_get_config_widget     (RBSource *source,
                                                 RBShellPreferences *prefs);
    gboolean    rb_source_can_cut               (RBSource *source);
    gboolean    rb_source_can_delete            (RBSource *source);
    gboolean    rb_source_can_copy              (RBSource *source);
    GList*      rb_source_cut                   (RBSource *source);
    GList*      rb_source_copy                  (RBSource *source);
    void        rb_source_paste                 (RBSource *source,
                                                 GList *entries);
    void        rb_source_delete                (RBSource *source);
    void        rb_source_song_properties       (RBSource *source);
    gboolean    rb_source_try_playlist          (RBSource *source);
    gboolean    rb_source_can_pause             (RBSource *source);
    RBSourceEOFType rb_source_handle_eos        (RBSource *source);
    gboolean    rb_source_have_url              (RBSource *source);
    gboolean    rb_source_receive_drag          (RBSource *source,
                                                 GtkSelectionData *data);
    gboolean    rb_source_show_popup            (RBSource *source);
    void        rb_source_delete_thyself        (RBSource *source);
    void        rb_source_activate              (RBSource *source);
    void        rb_source_deactivate            (RBSource *source);
    gboolean    rb_source_disconnect            (RBSource *source);

## Description

## Details

### enum RBSourceEOFType

    typedef enum {
    	RB_SOURCE_EOF_ERROR,
    	RB_SOURCE_EOF_STOP,
    	RB_SOURCE_EOF_RETRY,
    	RB_SOURCE_EOF_NEXT,
    } RBSourceEOFType;

### RBSourcePrivate

    typedef struct _RBSourcePrivate RBSourcePrivate;

### RBSourceFeatureFunc ()

    gboolean    (*RBSourceFeatureFunc)          (RBSource *source);

`source` : |
Returns : |

### rb_source_notify_filter_changed ()

    void        rb_source_notify_filter_changed (RBSource *source);

`source` : |

### rb_source_notify_status_changed ()

    void        rb_source_notify_status_changed (RBSource *status);

`status` : |

### rb_source_update_play_statistics ()

    void        rb_source_update_play_statistics
                                                (RBSource *source,
                                                 RhythmDB *db,
                                                 RhythmDBEntry *entry);

`source` : |
`db` : |
`entry` : |

### rb_source_get_status ()

    char*       rb_source_get_status            (RBSource *source);

FIXME: Some Random comments

`source` : |
Returns : | The status string

### rb_source_get_browser_key ()

    const char* rb_source_get_browser_key       (RBSource *source);

`source` : |
Returns : |

### rb_source_get_entry_view ()

    RBEntryView* rb_source_get_entry_view       (RBSource *source);

`source` : |
Returns : |

### rb_source_get_extra_views ()

    GList*      rb_source_get_extra_views       (RBSource *source);

`source` : |
Returns : |

### rb_source_get_pixbuf ()

    GdkPixbuf*  rb_source_get_pixbuf            (RBSource *source);

`source` : |
Returns : |

### rb_source_can_rename ()

    gboolean    rb_source_can_rename            (RBSource *source);

`source` : |
Returns : |

### rb_source_can_search ()

    gboolean    rb_source_can_search            (RBSource *source);

`source` : |
Returns : |

### rb_source_search ()

    void        rb_source_search                (RBSource *source,
                                                 const char *text);

`source` : |
`text` : |

### rb_source_reset_filters ()

    void        rb_source_reset_filters         (RBSource *source);

`source` : |

### rb_source_get_config_widget ()

    GtkWidget*  rb_source_get_config_widget     (RBSource *source,
                                                 RBShellPreferences *prefs);

`source` : |
`prefs` : |
Returns : |

### rb_source_can_cut ()

    gboolean    rb_source_can_cut               (RBSource *source);

`source` : |
Returns : |

### rb_source_can_delete ()

    gboolean    rb_source_can_delete            (RBSource *source);

`source` : |
Returns : |

### rb_source_can_copy ()

    gboolean    rb_source_can_copy              (RBSource *source);

`source` : |
Returns : |

### rb_source_cut ()

    GList*      rb_source_cut                   (RBSource *source);

`source` : |
Returns : |

### rb_source_copy ()

    GList*      rb_source_copy                  (RBSource *source);

`source` : |
Returns : |

### rb_source_paste ()

    void        rb_source_paste                 (RBSource *source,
                                                 GList *entries);

`source` : |
`entries` : |

### rb_source_delete ()

    void        rb_source_delete                (RBSource *source);

`source` : |

### rb_source_song_properties ()

    void        rb_source_song_properties       (RBSource *source);

`source` : |

### rb_source_try_playlist ()

    gboolean    rb_source_try_playlist          (RBSource *source);

`source` : |
Returns : |

### rb_source_can_pause ()

    gboolean    rb_source_can_pause             (RBSource *source);

`source` : |
Returns : |

### rb_source_handle_eos ()

    RBSourceEOFType rb_source_handle_eos        (RBSource *source);

`source` : |
Returns : |

### rb_source_have_url ()

    gboolean    rb_source_have_url              (RBSource *source);

`source` : |
Returns : |

### rb_source_receive_drag ()

    gboolean    rb_source_receive_drag          (RBSource *source,
                                                 GtkSelectionData *data);

`source` : |
`data` : |
Returns : |

### rb_source_show_popup ()

    gboolean    rb_source_show_popup            (RBSource *source);

`source` : |
Returns : |

### rb_source_delete_thyself ()

    void        rb_source_delete_thyself        (RBSource *source);

`source` : |

### rb_source_activate ()

    void        rb_source_activate              (RBSource *source);

`source` : |

### rb_source_deactivate ()

    void        rb_source_deactivate            (RBSource *source);

`source` : |

### rb_source_disconnect ()

    gboolean    rb_source_disconnect            (RBSource *source);

`source` : |
Returns : |