]> jfr.im git - irc/gameservirc.git/blob - gameserv-2.0/libgameservgldl/include/GameServ/DataLayer/IPlayerDAO.h
Added a FileWeaponDAO which is basically the same as the FileArmorDAO
[irc/gameservirc.git] / gameserv-2.0 / libgameservgldl / include / GameServ / DataLayer / IPlayerDAO.h
1 #ifndef __GS__IPlayerDAO_H__
2 #define __GS__IPlayerDAO_H__
3
4 #include <GameServ/GameLayer/GameObjects/PlayerGO.h>
5 using GameServ::GameLayer::GameObjects::PlayerGO;
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 Player Data Access Objects
18 /*!
19 This is the interface for all Player DAOs. Each specific datasource
20 will need to inherit this common interface.
21 */
22 class IPlayerDAO
23 {
24 public:
25 // Ctors, Dtors ///////////////////////////////////////////////////////
26 IPlayerDAO(void);
27 virtual ~IPlayerDAO(void); // Needs to be virtual
28
29 //! Get the Player using a unique data/object Id
30 /*!
31 \param Id Unique identifier
32 \return A boost shared pointer to a Player game object if found
33 otherwise the list is empty.
34 */
35 virtual shared_ptr<PlayerGO> GetById(const string &Id) const = 0;
36
37 /*! Get a list of Player Ids by Name
38 \param Name The partial name of the Player to match against the beginning of a Player name
39 \return A collection of Player Ids matching the name
40 */
41 virtual list<string> GetIdsByName(const string &Name) const = 0;
42
43 //! Function to quickly search to see if an Id exists or not
44 /*!
45 \param Id The Id of the game object to search for
46 \return true if the Id is valid and exists in the data, false otherwise
47 */
48 virtual bool IdExists(const string &Id) const = 0;
49
50 virtual void Insert(shared_ptr<PlayerGO> spPlayer) = 0;
51 virtual void Update(shared_ptr<PlayerGO> spPlayer) = 0;
52 private:
53
54
55 };
56 } } }
57 #endif // __GS__IPlayerDAO_H__