#ifndef __IPLAYLIST_H__
#define __IPLAYLIST_H__

#include "mecha.h"

#include "iterator.h"

typedef struct s_IPlaylist IPlaylist;

struct s_IPlaylist
{
    void (*destroy) (IPlaylist *);

    const char * (*get_name) (IPlaylist *);
    const char * (*get_type) (IPlaylist *);

    int (*get_next) (IPlaylist *);
    bool (*add_file) (IPlaylist *, int fileid);
    bool (*remove_file) (IPlaylist *, int fileid);

    IIterator * (*get_list_iterator) (IPlaylist *);
    IIterator * (*get_next_iterator) (IPlaylist *);
};

#endif
