Eris 1.3.16
|
00001 #ifndef ERIS_FACTORY_H 00002 #define ERIS_FACTORY_H 00003 00004 #include <Atlas/Objects/ObjectsFwd.h> 00005 00006 namespace Eris { 00007 00008 // forward decls 00009 class Entity; 00010 class View; 00011 class TypeInfo; 00012 00014 class Factory 00015 { 00016 public: 00017 virtual ~Factory(); 00019 00022 virtual bool accept(const Atlas::Objects::Entity::RootEntity &ge, TypeInfo* type) = 0; 00023 00025 virtual Entity* instantiate(const Atlas::Objects::Entity::RootEntity &ge, TypeInfo* type, View* v) = 0; 00026 00030 virtual int priority(); 00031 }; 00032 00033 } // of namespace Eris 00034 00035 #endif