#ifndef __FILEINFO_H__
#define __FILEINFO_H__

class CFileInfo
{
public:
	CFileInfo() {};
	virtual ~CFileInfo() {};

    // function to load a file into this structure
    // the argument passed is the path to a MP3 file
    virtual int   loadInfo( const char* srcMPC ) = 0;

    // functions used to get information about the "file"
    virtual int   getFileSize() = 0;
    virtual void  getFileName(char* input) = 0;

    // functions to calculate the length of the song
    // and to present it nicely
    virtual int   getLengthInSeconds() = 0;
    virtual void  getFormattedLength(char* input) = 0;

    // information that is avaliable in the ID3 tag
    virtual void  getTitle(char* input) = 0;
    virtual void  getArtist(char* input) = 0;
    virtual void  getAlbum(char* input) = 0;
    virtual void  getComment(char* input) = 0;
    virtual void  getGenre(char* input) = 0;

    virtual int   getYear() = 0;
    virtual int   getTrackNumber() = 0;
};

#endif /* __FILEINFO_H__ */
