IMediaLibrary.h 595 Bytes
Newer Older
1 2 3 4 5
#ifndef IMEDIALIBRARY_H
#define IMEDIALIBRARY_H

#include <vector>
#include <string>
Hugo Beauzée-Luyssen's avatar
Hugo Beauzée-Luyssen committed
6
#include <memory>
7

Hugo Beauzée-Luyssen's avatar
Hugo Beauzée-Luyssen committed
8 9 10
class IFile;

typedef std::shared_ptr<IFile> FilePtr;
11 12 13 14

class IMediaLibrary
{
    public:
15 16
        virtual ~IMediaLibrary() {}
        virtual bool initialize( const std::string& dbPath ) = 0;
Hugo Beauzée-Luyssen's avatar
Hugo Beauzée-Luyssen committed
17 18 19
        virtual FilePtr addFile( const std::string& path ) = 0;
        virtual FilePtr file( const std::string& path ) = 0;
        virtual bool files( std::vector<FilePtr>& res ) = 0;
20 21
};

22 23 24 25 26 27
class MediaLibraryFactory
{
    public:
        static IMediaLibrary* create();
};

28
#endif // IMEDIALIBRARY_H