2007-08-10 23:45:47 +00:00
|
|
|
#ifndef FINDER_H
|
|
|
|
#define FINDER_H
|
2007-06-07 00:30:16 +00:00
|
|
|
|
|
|
|
#include "common.h"
|
2007-07-20 14:36:31 +00:00
|
|
|
#include "system.h"
|
2008-01-13 22:05:08 +00:00
|
|
|
#include "allocator.h"
|
2007-06-07 00:30:16 +00:00
|
|
|
|
2007-06-18 21:13:21 +00:00
|
|
|
namespace vm {
|
|
|
|
|
2007-08-10 23:45:47 +00:00
|
|
|
class Finder {
|
2007-06-07 00:30:16 +00:00
|
|
|
public:
|
2007-08-10 23:45:47 +00:00
|
|
|
virtual ~Finder() { }
|
2007-09-17 00:13:36 +00:00
|
|
|
virtual System::Region* find(const char* name) = 0;
|
2007-08-10 23:45:47 +00:00
|
|
|
virtual bool exists(const char* name) = 0;
|
2007-08-27 13:46:17 +00:00
|
|
|
virtual const char* path() = 0;
|
2007-07-20 14:36:31 +00:00
|
|
|
virtual void dispose() = 0;
|
2007-06-07 00:30:16 +00:00
|
|
|
};
|
|
|
|
|
2007-08-10 23:45:47 +00:00
|
|
|
Finder*
|
|
|
|
makeFinder(System* s, const char* path);
|
2007-07-20 14:36:31 +00:00
|
|
|
|
2007-06-18 21:13:21 +00:00
|
|
|
} // namespace vm
|
|
|
|
|
2007-08-10 23:45:47 +00:00
|
|
|
#endif//FINDER_H
|