EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
ShipDB Class Reference

#include "ShipDB.h"

Inheritance diagram for ShipDB:
Collaboration diagram for ShipDB:

Public Member Functions

PyRepGetInsuranceByShipID (uint32 shipID)
 
PyRepGetInsuranceByOwnerID (uint32 ownerID)
 
bool InsertInsuranceByShipID (uint32 shipID, std::string name, uint32 ownerID, float level, double payOut, bool isCorpItem=false, uint8 numWeeks=12)
 
float GetShipInsurancePayout (uint32 shipID)
 
bool IsShipInsured (uint32 shipID)
 
- Public Member Functions inherited from ServiceDB
uint32 GetStationOwner (uint32 stationID)
 

Static Public Member Functions

static void DeleteInsuranceByShipID (uint32 shipID)
 
static void LoadWeaponGroups (uint32 shipID, DBQueryResult &res)
 
static void SaveWeaponGroups (uint32 shipID, std::multimap< uint32, uint32 > &data)
 
static void ClearWeaponGroups (uint32 shipID)
 
- Static Public Member Functions inherited from ServiceDB
static bool GetAccountInformation (CryptoChallengePacket &ccp, AccountData &aData, std::string &failMsg)
 
static bool UpdateAccountHash (const char *username, std::string &hash)
 
static bool IncrementLoginCount (uint32 accountID)
 
static void UpdatePassword (uint32 accountID, const char *pass)
 
static void SaveKillOrLoss (CharKillData &data)
 
static bool GetConstant (const char *name, uint32 &into)
 
static void SetServerOnlineStatus (bool online=false)
 
static void SetCharacterOnlineStatus (uint32 char_id, bool online=false)
 
static void SetAccountOnlineStatus (uint32 accountID, bool online=false)
 
static void SetAccountBanStatus (uint32 accountID, bool banned=false)
 
static void SaveServerStats (double threads, float rss, float vm, float user, float kernel, uint32 items, uint32 bubbles)
 
static uint32 SetClientSeed ()
 
static PyRepLookupChars (const char *match, bool exact=false)
 
static PyRepLookupOwners (const char *match, bool exact=false)
 
static PyRepLookupCorporations (const std::string &)
 
static PyRepLookupFactions (const std::string &)
 
static PyRepLookupCorporationTickers (const std::string &)
 
static PyRepLookupStations (const std::string &)
 
static PyRepLookupKnownLocationsByGroup (const std::string &, uint32)
 
static PyRepPrimeOwners (std::vector< int32 > &itemIDs)
 
static bool ValidateAccountName (CryptoChallengePacket &ccp, std::string &failMsg)
 
static void GetCorpHangarNames (uint32 corpID, std::map< uint8, std::string > &hangarNames)
 

Additional Inherited Members

- Protected Member Functions inherited from ServiceDB
void ProcessStringChange (const char *key, const std::string &oldValue, std::string newValue, PyDict *notif, std::vector< std::string > &dbQ)
 
void ProcessRealChange (const char *key, double oldValue, double newValue, PyDict *notif, std::vector< std::string > &dbQ)
 
void ProcessIntChange (const char *key, uint32 oldValue, uint32 newValue, PyDict *notif, std::vector< std::string > &dbQ)
 
void ProcessLongChange (const char *key, int64 oldValue, int64 newValue, PyDict *notif, std::vector< std::string > &dbQ)
 
- Static Protected Member Functions inherited from ServiceDB
static uint32 CreateNewAccount (const char *login, const char *pass, const char *passHash, int64 role)
 

Detailed Description

Definition at line 37 of file ShipDB.h.

Member Function Documentation

void ShipDB::ClearWeaponGroups ( uint32  shipID)
static

Definition at line 92 of file ShipDB.cpp.

References sDatabase.

Referenced by ShipItem::UnlinkAllWeapons().

93 {
94  DBerror err;
95  sDatabase.RunQuery(err, "DELETE FROM shipWeaponGroups WHERE shipID = %u", shipID );
96 }
#define sDatabase
Definition: dbcore.h:199
Definition: dbcore.h:39

Here is the caller graph for this function:

void ShipDB::DeleteInsuranceByShipID ( uint32  shipID)
static

Definition at line 65 of file ShipDB.cpp.

References sDatabase.

Referenced by ShipSE::PayInsurance(), and TradeService::TransferContainerContents().

65  {
66  DBerror err;
67  sDatabase.RunQuery(err, "DELETE FROM shipInsurance WHERE shipID=%u", shipID);
68 }
#define sDatabase
Definition: dbcore.h:199
Definition: dbcore.h:39

Here is the caller graph for this function:

PyRep * ShipDB::GetInsuranceByOwnerID ( uint32  ownerID)

Definition at line 46 of file ShipDB.cpp.

References DBResultToRowset(), and sDatabase.

46  {
47  DBQueryResult res;
48  sDatabase.RunQuery(res,
49  "SELECT startDate, shipName, shipID, endDate, ownerID, fraction"
50  " FROM shipInsurance"
51  " WHERE ownerID = %u", ownerID );
52 
53  return DBResultToRowset(res);
54 }
#define sDatabase
Definition: dbcore.h:199
PyObject * DBResultToRowset(DBQueryResult &result)
Definition: EVEDBUtils.cpp:81

Here is the call graph for this function:

PyRep * ShipDB::GetInsuranceByShipID ( uint32  shipID)

Definition at line 32 of file ShipDB.cpp.

References DBRowToRow(), DBQueryResult::GetRow(), PyStatic, and sDatabase.

32  {
33  DBQueryResult res;
34  DBResultRow row;
35  sDatabase.RunQuery(res,
36  "SELECT startDate, shipName, shipID, endDate, ownerID, fraction"
37  " FROM shipInsurance"
38  " WHERE shipID = %u", shipID );
39 
40  if (res.GetRow(row))
41  return DBRowToRow(row);
42 
43  return PyStatic.NewZero();
44 }
#define sDatabase
Definition: dbcore.h:199
bool GetRow(DBResultRow &into)
Definition: dbcore.cpp:552
PyObject * DBRowToRow(DBResultRow &row, const char *type)
Definition: EVEDBUtils.cpp:208
#define PyStatic
Definition: PyRep.h:1209

Here is the call graph for this function:

float ShipDB::GetShipInsurancePayout ( uint32  shipID)
Todo:
send mail to owner about no insurance, so limited payout. from SCC

Definition at line 70 of file ShipDB.cpp.

References DBResultRow::GetFloat(), DBQueryResult::GetRow(), and sDatabase.

Referenced by ShipSE::PayInsurance().

70  {
71  DBQueryResult res;
72  DBResultRow row;
73  sDatabase.RunQuery(res, "SELECT payOutAmount FROM shipInsurance WHERE shipID = %u", shipID);
74  if (res.GetRow(row))
75  return row.GetFloat(0);
76 
78  return 15000; //default to flat 15K for no insurance.
79 }
#define sDatabase
Definition: dbcore.h:199
float GetFloat(uint32 index) const
Definition: dbcore.cpp:682
bool GetRow(DBResultRow &into)
Definition: dbcore.cpp:552

Here is the call graph for this function:

Here is the caller graph for this function:

bool ShipDB::InsertInsuranceByShipID ( uint32  shipID,
std::string  name,
uint32  ownerID,
float  level,
double  payOut,
bool  isCorpItem = false,
uint8  numWeeks = 12 
)

Definition at line 56 of file ShipDB.cpp.

References DBerror::c_str(), GetFileTimeNow(), sDatabase, and EvE::Time::Week.

56  {
57  DBerror err;
58  return sDatabase.RunQuery(err, "INSERT INTO shipInsurance"
59  " (shipID, shipName, ownerID, isCorpItem, startDate, endDate, fraction, payOutAmount)"
60  " VALUES (%u, '%s', %u, %u, %f, %f, %.2f, %f)",
61  shipID, name.c_str(), ownerID, isCorpItem, GetFileTimeNow(), \
62  (GetFileTimeNow() + (EvE::Time::Week * numWeeks)), fraction, payOut );
63 }
#define sDatabase
Definition: dbcore.h:199
const char * c_str() const
Definition: dbcore.h:48
double GetFileTimeNow()
Definition: utils_time.cpp:84
Definition: dbcore.h:39

Here is the call graph for this function:

bool ShipDB::IsShipInsured ( uint32  shipID)

Definition at line 81 of file ShipDB.cpp.

References DBQueryResult::GetRow(), and sDatabase.

82 {
83  DBQueryResult res;
84  sDatabase.RunQuery(res, "SELECT ownerID FROM shipInsurance WHERE shipID = %u", shipID );
85  DBResultRow row;
86  if (res.GetRow(row))
87  return true;
88 
89  return false;
90 }
#define sDatabase
Definition: dbcore.h:199
bool GetRow(DBResultRow &into)
Definition: dbcore.cpp:552

Here is the call graph for this function:

void ShipDB::LoadWeaponGroups ( uint32  shipID,
DBQueryResult res 
)
static

Definition at line 98 of file ShipDB.cpp.

References sDatabase.

Referenced by ShipItem::LoadWeaponGroups().

99 {
100  sDatabase.RunQuery(res, "SELECT masterID, slaveID FROM shipWeaponGroups WHERE shipID = %u", shipID );
101 }
#define sDatabase
Definition: dbcore.h:199

Here is the caller graph for this function:

void ShipDB::SaveWeaponGroups ( uint32  shipID,
std::multimap< uint32, uint32 > &  data 
)
static

Definition at line 103 of file ShipDB.cpp.

References _log, DBerror::c_str(), and sDatabase.

Referenced by ShipItem::SaveWeaponGroups().

104 {
105  DBerror err;
106  sDatabase.RunQuery(err, "DELETE FROM shipWeaponGroups WHERE shipID = %u", shipID );
107  std::ostringstream Inserts;
108  // start the insert data.
109  Inserts << "INSERT INTO shipWeaponGroups";
110  Inserts << " (shipID, masterID, slaveID)";
111  bool first = true;
112  for (auto cur : data) {
113  if (first) {
114  Inserts << " VALUES ";
115  first = false;
116  } else {
117  Inserts << ", ";
118  }
119  Inserts << "(" << shipID << ", " << cur.first << ", " << cur.second << ")";
120  }
121 
122  if (!first)
123  if (!sDatabase.RunQuery(err, Inserts.str().c_str()))
124  _log(DATABASE__ERROR, "SaveLinkedWeapons - unable to save data - %s", err.c_str());
125 }
#define sDatabase
Definition: dbcore.h:199
#define _log(type, fmt,...)
Definition: logsys.h:124
const char * c_str() const
Definition: dbcore.h:48
Definition: dbcore.h:39

Here is the call graph for this function:

Here is the caller graph for this function:


The documentation for this class was generated from the following files: