]> jfr.im git - irc/gameservirc.git/blame - gameserv-2.0/libgameservgldl/src/DataLayer/DataAccess.cpp
Added the asio framework to start developing a GameServ server
[irc/gameservirc.git] / gameserv-2.0 / libgameservgldl / src / DataLayer / DataAccess.cpp
CommitLineData
ce4e8c42 1#include <GameServ/DataLayer/DataAccess.h>\r
2#include <GameServ/DataLayer/DataLayerExceptions.h>\r
3#include <GameServ/DataLayer/File/FileDAOFactory.h>\r
4\r
5using GameServ::DataLayer::DataAccess;\r
6using GameServ::DataLayer::Exceptions::DataLayerException;\r
7using GameServ::DataLayer::File::FileDAOFactory;\r
8\r
cce88913 9#include <boost/smart_ptr/shared_ptr.hpp>\r
ce4e8c42 10#include <boost/format.hpp>\r
33ae7ca7 11\r
ce4e8c42 12using boost::format;\r
13using boost::str;\r
14\r
33ae7ca7 15boost::shared_ptr<IDAOFactory> DataAccess::GetDataAccessFactory(const string &Provider)\r
ce4e8c42 16{\r
17 // Make sure a provider was even specified\r
18 if (Provider.empty())\r
19 throw DataLayerException("When using the DataLayer you must specify a Provider programatically", __FILE__, __LINE__);\r
20 \r
21 if (Provider == "File")\r
33ae7ca7 22 return boost::shared_ptr<IDAOFactory>(new FileDAOFactory());\r
ce4e8c42 23 // else if (Provider == "MySQL")\r
24 // PUT OTHER PROVIDERS HERE\r
25 else\r
26 throw DataLayerException(str(format("The Data Provider %1% is not supported by the DataLayer, " \r
27 "please check your Provider string") % Provider), __FILE__, __LINE__);\r
28}\r