]>
jfr.im git - irc/gameservirc.git/blob - gameserv-2.0/libgameservgldl/src/DataLayer/MySQL/MySQLId.cpp
1 #include <GameServ/DataLayer/MySQL/MySQLId.h>
2 using GameServ::DataLayer::MySQL::MySQLId
;
7 #include <GameServ/Types.h>
8 using GameServ::Types::ItemTypes
;
10 #include <GameServ/GameServException.h>
11 using GameServ::Exceptions::GameServException
;
13 #include <boost/format.hpp>
14 #include <boost/algorithm/string.hpp>
15 #include <boost/lexical_cast.hpp>
18 using boost::lexical_cast
;
19 using boost::bad_lexical_cast
;
29 string
MySQLId::CreatePlayerId(const unsigned long long &Number
)
31 return lexical_cast
<string
>(Number
);
34 unsigned long long MySQLId::GetPlayerNumberFromId(const string
&Id
)
38 return lexical_cast
<unsigned long long>(Id
);
40 catch (bad_lexical_cast
)
42 throw GameServException(str(format("Improperly formatted Player ID: %1%") % Id
),
47 string
MySQLId::CreateItemId(const unsigned long long &Number
)
49 return lexical_cast
<string
>(Number
);
52 unsigned long long MySQLId::GetItemNumberFromId(const string
&Id
)
56 return lexical_cast
<unsigned long long>(Id
);
58 catch (bad_lexical_cast
)
60 throw GameServException(str(format("Improperly formatted Item ID: %1%") % Id
), __FILE__
, __LINE__
);
64 string
MySQLId::CreateMonsterId(const string
&LevelId
, const string
&Name
)
66 return str(format("%1%:%2%") % LevelId
% Name
);
69 string
MySQLId::CreateLevelId(const unsigned int &Number
)
71 return lexical_cast
<string
>(Number
);
74 unsigned int MySQLId::GetLevelNumberFromId(const string
&Id
)
78 return lexical_cast
<unsigned int>(Id
);
80 catch (bad_lexical_cast
)
82 throw GameServException(str(format("Improperly formatted Level ID: %1%") % Id
), __FILE__
, __LINE__
);
86 string
MySQLId::CreateMasterId(const unsigned int &LevelNumber
, const string
&Name
)
88 return str(format("%1%:%2%") % LevelNumber
% Name
);