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

#include "CertificateMgrDB.h"

Inheritance diagram for CertificateMgrDB:
Collaboration diagram for CertificateMgrDB:

Public Member Functions

PyRepGetMyCertificates (uint32 characterID)
 
PyRepGetCertificateCategories ()
 
PyRepGetAllShipCertificateRecommendations ()
 
PyRepGetCertificateClasses ()
 
bool LoadCertificates (uint32 characterID, CertMap &into)
 
bool SaveCertificates (uint32 characterID, const CertMap &from)
 
void AddCertificate (uint32 charID, CharCerts cert)
 
void UpdateCertificate (uint32 charID, uint32 certificateID, bool pub=false)
 
- Public Member Functions inherited from ServiceDB
uint32 GetStationOwner (uint32 stationID)
 

Additional Inherited Members

- 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)
 
- 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 33 of file CertificateMgrDB.h.

Member Function Documentation

void CertificateMgrDB::AddCertificate ( uint32  charID,
CharCerts  cert 
)

Definition at line 74 of file CertificateMgrDB.cpp.

References _log, DBerror::c_str(), CharCerts::certificateID, CharCerts::grantDate, sDatabase, and CharCerts::visibilityFlags.

Referenced by Character::GrantCertificate().

74  {
75  DBerror err;
76  if (!sDatabase.RunQuery( err,
77  "INSERT INTO chrCertificates (characterID, certificateID, grantDate, visibilityFlags)"
78  " VALUES (%u, %u, %li, %u)", charID, cert.certificateID, cert.grantDate, cert.visibilityFlags)) {
79  _log(DATABASE__ERROR, "Failed to insert certificates of character %u: %s", charID, err.c_str() );
80  }
81 }
#define sDatabase
Definition: dbcore.h:199
#define _log(type, fmt,...)
Definition: logsys.h:124
uint32 certificateID
const char * c_str() const
Definition: dbcore.h:48
uint8 visibilityFlags
int64 grantDate
Definition: dbcore.h:39

Here is the call graph for this function:

Here is the caller graph for this function:

PyRep * CertificateMgrDB::GetAllShipCertificateRecommendations ( )

Definition at line 53 of file CertificateMgrDB.cpp.

References DBerror::c_str(), codelog, DBResultToRowset(), DBQueryResult::error, PyStatic, and sDatabase.

53  {
54  DBQueryResult res;
55  if (!sDatabase.RunQuery(res, "SELECT shipTypeID, certificateID, recommendationLevel, recommendationID FROM crtRecommendations")) {
56  codelog(DATABASE__ERROR, "Failed to query certificate categories: %s.", res.error.c_str());
57  return PyStatic.NewNone();
58  }
59 
60  return DBResultToRowset(res);
61 }
#define sDatabase
Definition: dbcore.h:199
const char * c_str() const
Definition: dbcore.h:48
#define codelog(type, fmt,...)
Definition: logsys.h:128
PyObject * DBResultToRowset(DBQueryResult &result)
Definition: EVEDBUtils.cpp:81
#define PyStatic
Definition: PyRep.h:1209
DBerror error
Definition: dbcore.h:69

Here is the call graph for this function:

PyRep * CertificateMgrDB::GetCertificateCategories ( )

Definition at line 43 of file CertificateMgrDB.cpp.

References DBerror::c_str(), codelog, DBResultToIndexRowset(), DBQueryResult::error, PyStatic, and sDatabase.

43  {
44  DBQueryResult res;
45  if (!sDatabase.RunQuery(res, "SELECT categoryID, categoryName, description, dataID, categoryNameID FROM crtCategories")) {
46  codelog(DATABASE__ERROR, "Failed to query certificate categories: %s.", res.error.c_str());
47  return PyStatic.NewNone();
48  }
49 
50  return(DBResultToIndexRowset(res, "categoryID"));
51 }
#define sDatabase
Definition: dbcore.h:199
const char * c_str() const
Definition: dbcore.h:48
#define codelog(type, fmt,...)
Definition: logsys.h:128
#define PyStatic
Definition: PyRep.h:1209
PyObject * DBResultToIndexRowset(DBQueryResult &result, const char *key)
Definition: EVEDBUtils.cpp:144
DBerror error
Definition: dbcore.h:69

Here is the call graph for this function:

PyRep * CertificateMgrDB::GetCertificateClasses ( )

Definition at line 63 of file CertificateMgrDB.cpp.

References DBerror::c_str(), codelog, DBResultToIntRowDict(), DBQueryResult::error, PyStatic, and sDatabase.

63  {
64  DBQueryResult res;
65  if (!sDatabase.RunQuery(res, "SELECT classID, className, classNameID, description, dataID FROM crtClasses")) {
66  codelog(DATABASE__ERROR, "Failed to query certificate classes: %s.", res.error.c_str());
67  return PyStatic.NewNone();
68  }
69 
70  return DBResultToIntRowDict(res, 0);
71 }
#define sDatabase
Definition: dbcore.h:199
const char * c_str() const
Definition: dbcore.h:48
PyDict * DBResultToIntRowDict(DBQueryResult &result, uint32 key_index, const char *type)
Definition: EVEDBUtils.cpp:257
#define codelog(type, fmt,...)
Definition: logsys.h:128
#define PyStatic
Definition: PyRep.h:1209
DBerror error
Definition: dbcore.h:69

Here is the call graph for this function:

PyRep* CertificateMgrDB::GetMyCertificates ( uint32  characterID)
bool CertificateMgrDB::LoadCertificates ( uint32  characterID,
CertMap into 
)

Definition at line 92 of file CertificateMgrDB.cpp.

References _log, DBerror::c_str(), CharCerts::certificateID, DBQueryResult::error, DBResultRow::GetBool(), DBResultRow::GetInt64(), DBQueryResult::GetRow(), DBResultRow::GetUInt(), CharCerts::grantDate, sDatabase, and CharCerts::visibilityFlags.

Referenced by Character::_Load().

93 {
94  DBQueryResult res;
95  if ( !sDatabase.RunQuery( res, "SELECT certificateID, grantDate, visibilityFlags FROM chrCertificates WHERE characterID=%u", characterID)) {
96  _log(DATABASE__ERROR, "Failed to query certificates of character %u: %s", characterID, res.error.c_str() );
97  return false;
98  }
99 
100  DBResultRow row;
101  while (res.GetRow(row)) {
102  CharCerts cert = CharCerts();
103  cert.certificateID = row.GetUInt( 0 );
104  cert.grantDate = row.GetInt64( 1 );
105  cert.visibilityFlags = row.GetBool( 2 );
106  into.emplace(row.GetUInt( 0 ), cert );
107  }
108 
109  return true;
110 }
#define sDatabase
Definition: dbcore.h:199
#define _log(type, fmt,...)
Definition: logsys.h:124
uint32 GetUInt(uint32 index) const
Definition: dbcore.cpp:658
uint32 certificateID
bool GetRow(DBResultRow &into)
Definition: dbcore.cpp:552
bool GetBool(uint32 index) const
Definition: dbcore.cpp:647
const char * c_str() const
Definition: dbcore.h:48
uint8 visibilityFlags
DBerror error
Definition: dbcore.h:69
int64 grantDate
int64 GetInt64(uint32 index) const
Definition: dbcore.cpp:670

Here is the call graph for this function:

Here is the caller graph for this function:

bool CertificateMgrDB::SaveCertificates ( uint32  characterID,
const CertMap from 
)

Definition at line 112 of file CertificateMgrDB.cpp.

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

Referenced by Character::SaveCertificates().

113 {
114  std::ostringstream Inserts;
115  // start the insert into command.
116  Inserts << "INSERT INTO chrCertificates";
117  Inserts << " (characterID, certificateID, grantDate, visibilityFlags)";
118  bool first = true;
119  for (auto cur : data) {
120  if (first) {
121  Inserts << " VALUES ";
122  first = false;
123  } else {
124  Inserts << ", ";
125  }
126  Inserts << "(" << characterID << ", " << cur.first << ", " << cur.second.grantDate << ", " << cur.second.visibilityFlags << ")";
127  }
128 
129  if (!first) {
130  Inserts << "ON DUPLICATE KEY UPDATE ";
131  Inserts << "visibilityFlags=VALUES(visibilityFlags)";
132  DBerror err;
133  if (!sDatabase.RunQuery(err, Inserts.str().c_str()))
134  _log(DATABASE__ERROR, "SaveCertificates - unable to save data - %s", err.c_str());
135  }
136  return true;
137 }
#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:

void CertificateMgrDB::UpdateCertificate ( uint32  charID,
uint32  certificateID,
bool  pub = false 
)

Definition at line 83 of file CertificateMgrDB.cpp.

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

Referenced by Character::UpdateCertificate().

83  {
84  DBerror err;
85  if (!sDatabase.RunQuery( err,
86  "UPDATE chrCertificates SET visibilityFlags = %u WHERE characterID = %u AND certificateID = %u", (pub ? 1 : 0), charID, certificateID)) {
87  _log(DATABASE__ERROR, "Failed to insert certificates of character %u: %s", charID, err.c_str() );
88  }
89 }
#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: