]> jfr.im git - irc/gameservirc.git/blob - gameserv-2.0/libgameservgldl/include/GameServ/DataLayer/ILevelDAO.h
Fixed data/monsters.dat
[irc/gameservirc.git] / gameserv-2.0 / libgameservgldl / include / GameServ / DataLayer / ILevelDAO.h
1 #ifndef __GS__ILEVELDAO_H__
2 #define __GS__ILEVELDAO_H__
3
4 #include <GameServ/GameLayer/GameObjects/LevelGO.h>
5 using GameServ::GameLayer::GameObjects::LevelGO;
6
7 #include <boost/smart_ptr/shared_ptr.hpp>
8 using boost::shared_ptr;
9
10 #include <list>
11 using std::list;
12 #include <string>
13 using std::string;
14
15 namespace GameServ { namespace DataLayer { namespace DataAccessObjects
16 {
17 //! Interface for Level Data Access Objects
18 /*!
19 This is the interface for all Level DAOs. Each specific datasource
20 will need to inherit this common interface.
21 */
22 class ILevelDAO
23 {
24 public:
25 // Ctors, Dtors ///////////////////////////////////////////////////////
26 ILevelDAO(void);
27 virtual ~ILevelDAO(void); // Needs to be virtual
28
29 //! Get the Level using a unique data/object Id
30 /*!
31 \param Id Unique identifier
32 \return A boost shared pointer to a Level game object if found
33 otherwise the list is empty.
34 */
35 virtual shared_ptr<LevelGO> GetById(const string &Id) const = 0;
36
37 //! Function to quickly search to see if an Id exists or not
38 /*!
39 \param Id The Id of the game object to search for
40 \return true if the Id is valid and exists in the data, false otherwise
41 */
42 virtual bool IdExists(const string &Id) const = 0;
43
44 private:
45
46
47 };
48 } } }
49 #endif // __GS__ILevelDAO_H__