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