## FmBookmarks

FmBookmarks

## Synopsis

    #define             FM_BOOKMARKS_TYPE
    struct              FmBookmarkItem;
    struct              FmBookmarks;
    struct              FmBookmarksClass;
    #define             fm_bookmarks_append                 (bookmarks,
                                                             path,
                                                             name)
    FmBookmarks *       fm_bookmarks_get                    (void);
    FmBookmarkItem *    fm_bookmarks_insert                 (FmBookmarks *bookmarks,
                                                             FmPath *path,
                                                             const char *name,
                                                             int pos);
    GList *             fm_bookmarks_list_all               (FmBookmarks *bookmarks);
    void                fm_bookmarks_remove                 (FmBookmarks *bookmarks,
                                                             FmBookmarkItem *item);
    void                fm_bookmarks_rename                 (FmBookmarks *bookmarks,
                                                             FmBookmarkItem *item,
                                                             const char *new_name);
    void                fm_bookmarks_reorder                (FmBookmarks *bookmarks,
                                                             FmBookmarkItem *item,
                                                             int pos);

## Object Hierarchy

      GObject
       +----FmBookmarks

## Signals

      "changed"                                        : Run First

## Description

## Details

### FM_BOOKMARKS_TYPE

    #define FM_BOOKMARKS_TYPE               (fm_bookmarks_get_type())

### struct FmBookmarkItem

    struct FmBookmarkItem {
        char* name;
        FmPath* path;
    };

### struct FmBookmarks

    struct FmBookmarks;

### struct FmBookmarksClass

    struct FmBookmarksClass {
        GObjectClass parent_class;
        void (*changed)();
    };

### fm_bookmarks_append()

    #define fm_bookmarks_append(bookmarks, path, name)  fm_bookmarks_insert(bookmarks, path, name, -1)

### fm_bookmarks_get ()

    FmBookmarks *       fm_bookmarks_get                    (void);

### fm_bookmarks_insert ()

    FmBookmarkItem *    fm_bookmarks_insert                 (FmBookmarks *bookmarks,
                                                             FmPath *path,
                                                             const char *name,
                                                             int pos);

### fm_bookmarks_list_all ()

    GList *             fm_bookmarks_list_all               (FmBookmarks *bookmarks);

### fm_bookmarks_remove ()

    void                fm_bookmarks_remove                 (FmBookmarks *bookmarks,
                                                             FmBookmarkItem *item);

### fm_bookmarks_rename ()

    void                fm_bookmarks_rename                 (FmBookmarks *bookmarks,
                                                             FmBookmarkItem *item,
                                                             const char *new_name);

### fm_bookmarks_reorder ()

    void                fm_bookmarks_reorder                (FmBookmarks *bookmarks,
                                                             FmBookmarkItem *item,
                                                             int pos);

## Signal Details

### The `"changed"` signal

    void                user_function                      (FmBookmarks *fmbookmarks,
                                                            gpointer     user_data)        : Run First