YAPOG  0.0.1
Yet Another Pokemon Online Game
XmlObjectIDLoader.hpp
Go to the documentation of this file.
1 #ifndef YAPOG_XMLOBJECTIDLOADER_HPP
2 # define YAPOG_XMLOBJECTIDLOADER_HPP
3 
4 # include "YAPOG/Macros.hpp"
7 # include "YAPOG/Collection/Map.hpp"
8 # include "YAPOG/Game/ID.hpp"
9 # include "YAPOG/System/String.hpp"
10 # include "YAPOG/System/Path.hpp"
11 
12 namespace yap
13 {
14  template <typename T, typename TXmlReader>
16  {
18 
19  public:
20 
21  typedef T LoadedType;
22  typedef TXmlReader XmlReaderType;
23 
24  XmlObjectIDLoader (const Path& rootPath, const String& rootNodeName);
25  virtual ~XmlObjectIDLoader ();
26 
27  virtual T* Load (const ID& id);
28 
29  private:
30 
31  T& GetObject (const ID& id);
32 
33  const Path rootPath_;
35 
39  };
40 } // namespace yap
41 
43 
44 #endif // YAPOG_XMLOBJECTIDLOADER_HPP