]>
Commit | Line | Data |
---|---|---|
ce4e8c42 | 1 | #ifndef __GS__IDAOFACTORY_H__\r |
2 | #define __GS__IDAOFACTORY_H__\r | |
3 | \r | |
4 | #include <GameServ/DataLayer/IPlayerDAO.h>\r | |
ce4e8c42 | 5 | using GameServ::DataLayer::DataAccessObjects::IPlayerDAO;\r |
e0306362 | 6 | #include <GameServ/DataLayer/IItemDAO.h>\r |
7 | using GameServ::DataLayer::DataAccessObjects::IItemDAO;\r | |
8 | \r | |
ce4e8c42 | 9 | \r |
cce88913 | 10 | #include <boost/smart_ptr/shared_ptr.hpp>\r |
ce4e8c42 | 11 | using boost::shared_ptr;\r |
12 | \r | |
13 | namespace 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 |