]> jfr.im git - irc/gameservirc.git/blame - gameserv-2.0/libgameservgldl/include/GameServ/DataLayer/IDAOFactory.h
Consolidated IArmorDAO, IWeaponDAO, FileArmorDAO, and FileWeaponDAO into IItemDAO...
[irc/gameservirc.git] / gameserv-2.0 / libgameservgldl / include / GameServ / DataLayer / IDAOFactory.h
CommitLineData
ce4e8c42 1#ifndef __GS__IDAOFACTORY_H__\r
2#define __GS__IDAOFACTORY_H__\r
3\r
4#include <GameServ/DataLayer/IPlayerDAO.h>\r
ce4e8c42 5using GameServ::DataLayer::DataAccessObjects::IPlayerDAO;\r
e0306362 6#include <GameServ/DataLayer/IItemDAO.h>\r
7using GameServ::DataLayer::DataAccessObjects::IItemDAO;\r
8\r
ce4e8c42 9\r
cce88913 10#include <boost/smart_ptr/shared_ptr.hpp>\r
ce4e8c42 11using boost::shared_ptr;\r
12\r
13namespace GameServ { namespace DataLayer \r
14{\r
15 //! Base interface (abstract) for DataAccessObject interfaces for data providers\r
16 /*!\r
17 This interface defines the neccessary functionality of every specific data\r
18 provider in order to build each requested DataAccessObject. It allows us to deal\r
19 with DataAccessObjects in a very generic way.\r
20 */\r
21 class IDAOFactory\r
22 {\r
23 public:\r
24 // Ctors, Dtors ///////////////////////////////////////////////////////\r
25 //! Base abstract class, we need virtual dtor\r
26 virtual ~IDAOFactory(void) { }\r
27\r
9c917833 28 //! Player DataAccessObject for all Player related operations\r
ce4e8c42 29 virtual shared_ptr<IPlayerDAO> GetPlayerDAO(void) const = 0;\r
30\r
e0306362 31 //! Item DataAccessObject for all item related operations\r
32 virtual shared_ptr<IItemDAO> GetItemDAO(void) const = 0;\r
9c917833 33\r
ce4e8c42 34 private:\r
35\r
36 };\r
37}} // GameServ::DataLayer\r
38\r
39#endif // __GS__IDAOFACTORY_H__\r