11 #include <boost/range/iterator_range.hpp>
14 #include "packets/Sovereignty.h"
31 sLog.Blue(
" SovereigntyDataMgr",
"Sovereignty Data Manager Initialized.");
41 sLog.Warning(
" SovereigntyDataMgr",
"Sovereignty Data Manager has been closed.");
58 std::map<int8, int32>::iterator itr;
82 bySolar.insert(sData);
85 sLog.Cyan(
" SovereigntyDataMgr",
"%u Sovereignty data sets loaded in %.3fms.",
133 sDataMgr.GetSystemData(systemID, sysData);
144 _log(SOV__INFO,
"SovereigntyDataMgr::GetSystemSovereignty(): Faction system %u found, assigning factionID as allianceID.", systemID);
152 _log(SOV__INFO,
"SovereigntyDataMgr::GetSystemSovereignty(): Found sov data for solarSystemID %u.", systemID);
153 _log(SOV__DEBUG,
"== data (GetSystemSovereignty()) ==");
160 _log(SOV__DEBUG,
"==========");
171 _log(SOV__INFO,
"SovereigntyDataMgr::GetSystemSovereignty(): No data for solarSystemID %u. Sending blank SovereigntyData object.", systemID);
181 return new PyObject(
"util.KeyVal", args);
189 _log(SOV__DEBUG,
"== data (GetAllianceSystems()) ==");
190 _log(SOV__DEBUG,
"claimID: %u", it.claimID);
191 _log(SOV__DEBUG,
"solarSystemID: %u", it.solarSystemID);
192 _log(SOV__DEBUG,
"allianceID: %u", it.allianceID);
193 _log(SOV__DEBUG,
"==========");
210 if (sData.beaconID == 0) {
213 _log(SOV__DEBUG,
"== data (GetAllianceBeacons()) ==");
214 _log(SOV__DEBUG,
"solarSystemID: %u", sData.solarSystemID);
215 _log(SOV__DEBUG,
"beaconID: %u", sData.beaconID);
216 _log(SOV__DEBUG,
"==========");
246 row->
SetField(
"stationCount",
new PyInt(sData.stationCount));
247 row->
SetField(
"militaryPoints",
new PyInt(sData.militaryPoints));
248 row->
SetField(
"industrialPoints",
new PyInt(sData.industrialPoints));
255 std::vector<uint32> cv;
259 if (!(std::find(cv.begin(), cv.end(), sData.constellationID) != cv.end()))
262 row->
SetField(
"locationID",
new PyInt(sData.constellationID));
264 row->
SetField(
"stationCount",
new PyInt(sData.stationCount));
265 row->
SetField(
"militaryPoints",
new PyInt(sData.militaryPoints));
266 row->
SetField(
"industrialPoints",
new PyInt(sData.industrialPoints));
268 cv.push_back(sData.constellationID);
272 else if (
sDataMgr.IsSolarSystem(locationID))
280 row->
SetField(
"stationCount",
new PyInt(sData.stationCount));
281 row->
SetField(
"militaryPoints",
new PyInt(sData.militaryPoints));
282 row->
SetField(
"industrialPoints",
new PyInt(sData.industrialPoints));
292 _log(SOV__INFO,
"AddSovClaim() - Adding claim for %u to DataMgr...", data.
solarSystemID);
297 _log(SOV__DEBUG,
"AddSovClaim() - ClaimID %u added to DB...", claimID);
314 _log(SOV__INFO,
"MarkContested() - Marking system %u as state %u", systemID,
int(contested));
325 _log(SOV__INFO,
"RemoveSovClaim() - Removing claim for %u from DataMgr...", systemID);
329 _log(SOV__DEBUG,
"RemoveSovClaim() - Claim for %u removed from DB...", systemID);
333 bySolar.erase(systemID);
338 _log(SOV__INFO,
"UpdateSystemHubID() - Updating hubID for system %u with hub %u", systemID, hubID);
349 _log(SOV__INFO,
"UpdateSystemJammerID() - Updating jammerID for system %u with jammer %u", systemID, jammerID);
360 _log(SOV__INFO,
"UpdateSystemBeaconID() - Updating beaconID for system %u with beacon %u", systemID, beaconID);
376 bySolar.erase(systemID);
401 bySolar.insert(sData);
static void RemoveSovereigntyData(uint32 systemID)
#define IsConstellationID(itemID)
void UpdateClaim(uint32 systemID)
#define _log(type, fmt,...)
uint32 GetUInt(uint32 index) const
void AddColumn(const char *name, DBTYPE type)
void UpdateSystemJammerID(uint32 systemID, uint32 jammerID)
SovereigntyData GetSovereigntyData(uint32 systemID)
PyRep * GetAllianceSystems()
void RemoveSovClaim(uint32 systemID)
static void SetBeaconID(uint32 systemID, uint32 beaconID)
void SafeDelete(T *&p)
Deletes and nullifies a pointer.
bool GetRow(DBResultRow &into)
static void SetJammerID(uint32 systemID, uint32 jammerID)
#define sLog
Evaluates to a NewLog instance.
static void AddSovereigntyData(SovereigntyData data, uint32 &claimID)
Python object "blue.DBRowDescriptor".
PyRep * GetAllianceBeacons(uint32 allianceID)
void SetItem(size_t index, PyRep *object)
Stores Python object.
Python object "dbutil.CRowset".
uint32 locationID() const
PyRep * GetSystemSovereignty(uint32 systemID)
void AddSovClaim(SovereigntyData data)
void UpdateSystemHubID(uint32 systemID, uint32 hubID)
uint32 GetSystemAllianceID(uint32 systemID)
PyRep * GetCurrentSovData(uint32 locationID)
bool SetField(uint32 index, PyRep *value)
static void SetContested(uint32 systemID, bool contested)
static void SetHubID(uint32 systemID, uint32 hubID)
#define IsRegionID(itemID)
void MarkContested(uint32 systemID, bool contested)
int64 GetInt64(uint32 index) const
void UpdateSystemBeaconID(uint32 systemID, uint32 beaconID)
SovDataContainer m_sovData
static void GetSovereigntyDataForSystem(DBQueryResult &res, uint32 systemID)
static void GetSovereigntyData(DBQueryResult &res)
void SetItemString(const char *key, PyRep *value)
SetItemString adds or sets a database entry.