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