FileStreamLoader.h

00001 /***************************************************************************
00002  *                                                                         *
00003  *   (c) Art Tevs, MPI Informatik Saarbruecken                             *
00004  *       mailto: <tevs@mpi-sb.mpg.de>                                      *
00005  *                                                                         *
00006  *   This program is free software; you can redistribute it and/or modify  *
00007  *   it under the terms of the GNU General Public License as published by  *
00008  *   the Free Software Foundation; either version 2 of the License, or     *
00009  *   (at your option) any later version.                                   *
00010  *                                                                         *
00011  ***************************************************************************/
00012 
00013 
00014 #ifndef _NR_FILESTREAM_RESOURCE_LOADER_H_
00015 #define _NR_FILESTREAM_RESOURCE_LOADER_H_
00016 
00017 //----------------------------------------------------------------------------------
00018 // Includes
00019 //----------------------------------------------------------------------------------
00020 #include "Prerequisities.h"
00021 #include "ResourceLoader.h"
00022 #include "FileStream.h"
00023 
00024 
00025 namespace nrEngine{
00026 
00027         //! File stream loader is able to instantiate file stream objects
00028         /**
00029         * @see IResourceLoader
00030         * \ingroup vfs
00031         **/
00032         class _NRExport FileStreamLoader : public IResourceLoader{
00033         public:
00034 
00035                 /**
00036                 * Declare supported resource types and supported files.
00037                 **/
00038                 FileStreamLoader();
00039 
00040                 /**
00041                 * Destructor
00042                 **/
00043                 ~FileStreamLoader();
00044 
00045                 private:
00046                         
00047                         /**
00048                         * Initialize supported resource and file types
00049                         * @see IResourceLoader::initializeResourceLoader()
00050                         **/
00051                         Result initializeResourceLoader();
00052         
00053                         /**
00054                         * @see IResourceLoader::loadResource()
00055                         **/
00056                         Result loadResource(IResource* res, const std::string& fileName, PropertyList* param = NULL);
00057         
00058                         /**
00059                         * @see IResourceLoader::createResource()
00060                         **/
00061                         IResource* createResource(const std::string& resourceType, PropertyList* params = NULL);
00062                                 
00063                         /**
00064                         * @see IResourceLoader::createResourceEmpty()
00065                         **/
00066                         IResource* createEmptyResource(const std::string& resourceType);
00067 
00068         };
00069 
00070 };
00071 
00072 #endif

Generated on Wed Sep 12 23:19:42 2007 for nrEngine by  doxygen 1.5.1