12#ifndef TT_INCLUDE__FILEFACTORYLISTCLASS_H
13#define TT_INCLUDE__FILEFACTORYLISTCLASS_H
15#include "engine_string.h"
16extern char* lastFileName;
18class FileFactoryListClass :
public FileFactoryClass
20#if !defined(WWCONFIG) && !defined(PACKAGEEDITOR) && !defined(W3DVIEWER)
21 static REF_DECL(FileFactoryListClass *, Instance);
23 static FileFactoryListClass *Instance;
25 FileFactoryClass* tempFactory;
26 SimpleDynVecClass<FileFactoryClass*> factories;
27 DynamicVectorClass<StringClass> fileNames;
32 static FileFactoryListClass* Get_Instance() {
return Instance; }
34 virtual ~FileFactoryListClass();
35 virtual FileClass* Get_File(
const char* fileName);
36 virtual void Return_File(FileClass* file);
38 FileFactoryListClass();
39 void Add_FileFactory(FileFactoryClass* factory,
const char* factoryName,
bool addToBegin =
false);
40 void Remove_FileFactory(FileFactoryClass* factory);
41 FileFactoryClass *Remove_FileFactory();
42 void Add_Temp_FileFactory(FileFactoryClass* factory);
43 FileFactoryClass *Remove_Temp_FileFactory();
44 void Set_Search_Start(
const char* factoryName);
45 void Reset_Search_Start() { searchStart = 0; }
46 FileFactoryClass *Peek_Temp_FileFactory();
47 int Get_Factory_Count();
48 FileFactoryClass *Get_Factory(
int);