00001 // Copyright (C) 2002-2018 Nikolaus Gebhardt 00002 // This file is part of the "irrKlang" library. 00003 // For conditions of distribution and use, see copyright notice in irrKlang.h 00004 00005 #ifndef __I_IRRKLANG_AUDIO_STREAM_LOADER_H_INCLUDED__ 00006 #define __I_IRRKLANG_AUDIO_STREAM_LOADER_H_INCLUDED__ 00007 00008 #include "ik_IRefCounted.h" 00009 #include "ik_IFileReader.h" 00010 00011 namespace irrklang 00012 { 00013 00014 class IAudioStream; 00015 00017 class IAudioStreamLoader : public IRefCounted 00018 { 00019 public: 00020 00022 virtual ~IAudioStreamLoader() {}; 00023 00025 00027 virtual bool isALoadableFileExtension(const ik_c8* fileName) = 0; 00028 00030 00033 virtual IAudioStream* createAudioStream(IFileReader* file) = 0; 00034 }; 00035 00036 00037 } // end namespace irrklang 00038 00039 #endif 00040