/*
-----------------------------------------------------------------------------
Copyright (c) 15.10.2013 Tobias Peters <tobias.peters@kreativeffekt.at>

This file is part of Q-Gears

Q-Gears is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 2.0 (GPLv2) of the License.

Q-Gears is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-----------------------------------------------------------------------------
*/
#ifndef __QGearsAFileManager_H__
#define __QGearsAFileManager_H__

#include <OgreResourceManager.h>

#include "QGearsPrerequisites.h"

#include "QGearsAFile.h"

namespace QGears
{
    class _QGearsExport AFileManager : public Ogre::ResourceManager, public Ogre::Singleton<AFileManager>
    {
    public:
        AFileManager();
        virtual ~AFileManager();

        static AFileManager& getSingleton();
        static AFileManager* getSingletonPtr();

    protected:
        virtual Ogre::Resource *createImpl( const Ogre::String &name, Ogre::ResourceHandle handle
          , const Ogre::String &group, bool isManual, Ogre::ManualResourceLoader *loader
          , const Ogre::NameValuePairList *createParams ) override final;

    private:
    };
}

#endif // __QGearsAFileManager_H__
