EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
CorporationDB.h
Go to the documentation of this file.
1 /*
2  ------------------------------------------------------------------------------------
3  LICENSE:
4  ------------------------------------------------------------------------------------
5  This file is part of EVEmu: EVE Online Server Emulator
6  Copyright 2006 - 2021 The EVEmu Team
7  For the latest information visit https://evemu.dev
8  ------------------------------------------------------------------------------------
9  This program is free software; you can redistribute it and/or modify it under
10  the terms of the GNU Lesser General Public License as published by the Free Software
11  Foundation; either version 2 of the License, or (at your option) any later
12  version.
13 
14  This program is distributed in the hope that it will be useful, but WITHOUT
15  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16  FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
17 
18  You should have received a copy of the GNU Lesser General Public License along with
19  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
20  Place - Suite 330, Boston, MA 02111-1307, USA, or go to
21  http://www.gnu.org/copyleft/lesser.txt.
22  ------------------------------------------------------------------------------------
23  Author: Zhur
24 */
25 
26 
27 #ifndef __CORPORATIONDB_H_INCL__
28 #define __CORPORATIONDB_H_INCL__
29 
30 #include "ServiceDB.h"
31 #include "packets/CorporationPkts.h"
32 
33 #include "corporation/CorpData.h"
34 
35 
36 class Client;
37 class PyRep;
38 class PyObject;
39 class OfficeData;
40 
42 : public ServiceDB
43 {
44 public:
47  PyRep *GetTitles(uint32 corpID);
48  bool UpdateTitle(uint32 corpID, Call_UpdateTitleData& args, PyDict* updates);
49  void DeleteTitle(uint32 corpID, uint16 titleID);
50  void CreateTitleData(uint32 corpID);
51  PyRep *GetMember(uint32 charID);
53  void GetMembers(uint32 corpID, DBQueryResult& res);
54  void GetMembersForQuery(std::ostringstream& query, std::vector<uint32>& result);
55  void GetMembersPaged(uint32 corpID, uint8 page, DBQueryResult& res);
58  PyRep *GetCorporations(uint32 corpID);
60  PyObject *GetStations(uint32 corpID);
61  PyObject *GetEveOwners(uint32 corpID);
62  PyRep* GetBulletins(uint32 corpID);
63  void DeleteBulletin(uint32 bulletinID);
64  void AddBulletin(uint32 corpID, uint32 ownerID, uint32 cCharID, std::string& title, std::string& body);
65  void EditBulletin(uint32 bulletinID, uint32 eCharID, int64 eDataTime, std::string& title, std::string& body);
66 
68  PyRep *GetApplications(uint32 corpID);
69 
70  void MoveShares(uint32 ownerID, uint32 corpID, Call_MoveShares& args);
71  PyRep *GetShares(uint32 corpID);
72  PyRep *GetMyShares(uint32 ownerID);
73  bool HasShares(uint32 charID, uint32 corpID);
74  PyRep* PyHasShares(uint32 charID, uint32 corpID);
75  PyRep* GetSharesForCorp(uint32 corpID);
76 
78 
79  void GetCorpStations(uint32 corpID, std::vector<uint32>& stVec);
80 
81  void AddItemEvent(uint32 corpID, uint32 charID, uint16 eTypeID);
82  void AddRoleHistory(uint32 corpID, uint32 charID, uint32 issuerID, int64 oldRoles, int64 newRoles, bool grantable);
83  PyRep *GetItemEvents(uint32 corpID, uint32 charID, int64 fromDate, int64 toDate, uint8 rowsPerPage);
84  PyRep *GetRoleHistroy(uint32 corpID, uint32 charID, int64 fromDate, int64 toDate, uint8 rowsPerPage);
85 
86  void CastVote(uint32 corpID, uint32 charID, uint32 voteCaseID, uint8 optionID);
87  void AddVoteCase(uint32 corpID, uint32 charID, Call_InsertVoteCase& args);
88  PyRep* GetVotes(uint32 voteCaseID);
89  PyRep* GetVoteItems(uint32 corpID, uint8 status=0, uint8 maxLen=20);
90  PyRep* GetVoteOptions(uint32 voteCaseID);
91  PyRep* GetSanctionedItems(uint32 corpID, uint8 status=0);
92 
93  void GetAutoPay(uint32 corpID, DBQueryResult& res);
94  void SetAutoPay();
95 
96  //PyObject *ListStationOffices(uint32 station_id);
97  PyObject *ListStationCorps(uint32 station_id);
98  PyObject *ListStationOwners(uint32 station_id);
99 
100  PyRep *GetCorpInfo(uint32 corpID);
101 
102  PyRep* GetContacts(uint32 corpID);
103  void AddContact(uint32 ownerID, Call_CorporateContactData corpData);
104  void UpdateContact(int32 relationshipID, uint32 contactID, uint32 ownerID);
105  void RemoveContact(uint32 contactID, uint32 ownerID);
106 
107  PyRep* GetLabels(uint32 corpID);
108  void SetLabel(uint32 corpID, uint32 color, std::string name);
109  void EditLabel(uint32 corpID, uint32 labelID, uint32 color, std::string name);
110  void DeleteLabel(uint32 corpID, uint32 labelID);
111 
112  bool IsTickerTaken(std::string ticker);
113  bool AddCorporation(Call_AddCorporation & corpInfo, Client* pClient, uint32 & corpID);
114  bool CreateCorporationChangePacket(OnCorporationChanged & cc, uint32 oldCorpID, uint32 newCorpID);
115  bool CreateCorporationCreatePacket(OnCorporationChanged & cc, uint32 oldCorpID, uint32 newCorpID);
116 
117  PyRep *Fetch(uint32 corpID, uint32 from, uint32 count);
118 
119  PyObject* GetCorporationBills(uint32 corpID, bool payable);
120 
121  int32 GetCorpIDforChar(int32 charID);
122  uint32 GetStationOwner(uint32 stationID);
124  static uint32 GetCorporationCEO(uint32 corpID);
127 
128  double GetCloneTypeCostByID(uint32 cloneTypeID);
129 
130  PyRep* GetMedalsReceived(int32 charID);
131  PyRep* GetAllCorpMedals(uint32 corpID);
132  PyRep* GetCorpMedalData(uint32 corpID);
134  PyRep* GetRecipientsOfMedal(int32 medalID);
136  PyObjectEx* GetMedalDetails(int32 medalID);
137  void GiveMedalToCharacters(uint32 issuerID, uint32 corpID, int32 medalID, std::vector< uint32 >& charVec, std::string& reason);
138  uint16 CreateMedal(uint32 ownerID, uint32 creatorID, std::string& title, std::string& description);
139  void SaveMedalData(int64 medalID, std::vector< Corp::MedalData >& dataList);
140  void SetMedalStatus(uint32 charID, uint16 medalID, uint8 status);
141 
142  PyRep* GetAdTypeData();
144  PyRep* GetAdRegistryData(int64 typeMask=0, bool inAlliance=false, int16 minMembers=0, uint16 maxMembers=12602);
145  PyRep* GetAdvert(uint16 adID);
146  void DeleteAdvert(uint16 adID);
147 
148  uint32 CreateAdvert(Client* pClient, uint32 corpID, int64 typeMask, int8 days, uint16 members, std::string description,
149  uint32 channelID, std::string title);
150 
151  void UpdateAdvert(uint16 adID, uint32 corpID, int64 typeMask, int8 days, uint16 members, std::string description,
152  uint32 channelID, std::string title);
153 
154  int64 GetAdvertTime(uint16 adID, uint32 corpID);
155  void AddRecruiters(uint16 adID, int32 corpID, std::vector< int32 >& charVec);
156  PyRep* GetRecruiters(int32 corpID, uint16 adID);
157 
159  bool UpdateApplication(const Corp::ApplicationInfo& aInfo);
160  bool DeleteApplication(const Corp::ApplicationInfo& aInfo);
162  bool CreateMemberAttributeUpdate(uint32 newCorpID, uint32 charID, MemberAttributeUpdate& attrib);
163 
164  static std::string GetCorpName(uint32 corpID);
165  static std::string GetDivisionName(uint32 corpID, uint16 acctKey);
166  bool UpdateDivisionNames(uint32 corpID, const Call_UpdateDivisionNames & divs, PyDict * notif);
167  bool UpdateCorporation(uint32 corpID, const Call_UpdateCorporation & upd, PyDict * notif);
168  bool UpdateLogo(uint32 corpID, const Call_UpdateLogo & upd, PyDict * notif);
169 
170  PyRep* GetAssetInventory(uint32 corpID, EVEItemFlags locFlag, const char* flags);
171  PyRep* GetAssetInventoryForLocation(uint32 corpID, uint32 locationID, const char* flags);
172  PyRep* GetKillsAndLosses(uint32 corpID, uint32 number, uint32 offset);
173 
174  PyRep* GetMktInfo(uint32 corpID);
175 
176  // gets taxrate, allyID, warID of corpID
177  static void GetCorpData(CorpData& data);
178 
179  static void UpdateCorpHQ(uint32 corpID, uint32 stationID);
180  static void GetMemberIDs(uint32 corpID, std::vector<uint32>& ids, bool online=true);
181 };
182 
183 #endif
PyRep * Fetch(uint32 corpID, uint32 from, uint32 count)
Base Python wire object.
Definition: PyRep.h:66
uint32 GetStationOwner(uint32 stationID)
unsigned __int8 uint8
Definition: eve-compat.h:46
PyObjectEx * GetMedalDetails(int32 medalID)
PyRep * GetCorporations(uint32 corpID)
void AddContact(uint32 ownerID, Call_CorporateContactData corpData)
bool UpdateLogo(uint32 corpID, const Call_UpdateLogo &upd, PyDict *notif)
bool UpdateCorporation(uint32 corpID, const Call_UpdateCorporation &upd, PyDict *notif)
PyRep * GetCorpInfo(uint32 corpID)
PyRep * GetMemberTrackingInfo(uint32 corpID)
void AddRecruiters(uint16 adID, int32 corpID, std::vector< int32 > &charVec)
PyObject * ListStationOwners(uint32 station_id)
uint16 GetMemberCount(uint32 corpID)
PyRep * GetCorpRoleGroups()
PyRep * GetShares(uint32 corpID)
Python's dictionary.
Definition: PyRep.h:719
void DeleteAdvert(uint16 adID)
PyRep * GetMedalsReceivedDetails(int32 charID)
PyRep * GetRecipientsOfMedal(int32 medalID)
void RemoveContact(uint32 contactID, uint32 ownerID)
PyRep * GetLabels(uint32 corpID)
bool CreateMemberAttributeUpdate(uint32 newCorpID, uint32 charID, MemberAttributeUpdate &attrib)
EVEItemFlags
Definition: EVE_Flags.h:13
PyRep * GetMyShares(uint32 ownerID)
bool CreateCorporationCreatePacket(OnCorporationChanged &cc, uint32 oldCorpID, uint32 newCorpID)
PyRep * GetMedalsReceived(int32 charID)
PyRep * GetRecruiters(int32 corpID, uint16 adID)
void SetLabel(uint32 corpID, uint32 color, std::string name)
bool DeleteApplication(const Corp::ApplicationInfo &aInfo)
PyRep * GetCorpRoles()
void GetCorpStations(uint32 corpID, std::vector< uint32 > &stVec)
void EditLabel(uint32 corpID, uint32 labelID, uint32 color, std::string name)
PyRep * GetKillsAndLosses(uint32 corpID, uint32 number, uint32 offset)
void AddBulletin(uint32 corpID, uint32 ownerID, uint32 cCharID, std::string &title, std::string &body)
void UpdateContact(int32 relationshipID, uint32 contactID, uint32 ownerID)
static uint32 GetCorporationCEO(uint32 corpID)
int32 GetCorpIDforChar(int32 charID)
void CreateTitleData(uint32 corpID)
signed __int8 int8
Definition: eve-compat.h:45
static void GetMemberIDs(uint32 corpID, std::vector< uint32 > &ids, bool online=true)
PyObject * GetCorporation(uint32 corpID)
signed __int32 int32
Definition: eve-compat.h:49
PyRep * GetSharesForCorp(uint32 corpID)
void GiveMedalToCharacters(uint32 issuerID, uint32 corpID, int32 medalID, std::vector< uint32 > &charVec, std::string &reason)
* args
bool UpdateTitle(uint32 corpID, Call_UpdateTitleData &args, PyDict *updates)
void EditBulletin(uint32 bulletinID, uint32 eCharID, int64 eDataTime, std::string &title, std::string &body)
PyRep * GetApplications(uint32 corpID)
uint16 GetCorpMemberCount(uint32 corpID)
PyRep * GetBulletins(uint32 corpID)
PyRep * GetAdTypeData()
Python extended object.
Definition: PyRep.h:861
Python object.
Definition: PyRep.h:826
uint16 CreateMedal(uint32 ownerID, uint32 creatorID, std::string &title, std::string &description)
PyRep * GetAssetInventoryForLocation(uint32 corpID, uint32 locationID, const char *flags)
PyObject * GetCorporationBills(uint32 corpID, bool payable)
PyRep * GetAdvert(uint16 adID)
PyRep * GetVotes(uint32 voteCaseID)
bool AddCorporation(Call_AddCorporation &corpInfo, Client *pClient, uint32 &corpID)
PyRep * GetContacts(uint32 corpID)
PyRep * GetAllCorpMedals(uint32 corpID)
PyRep * GetAdGroupData()
PyRep * GetRoleHistroy(uint32 corpID, uint32 charID, int64 fromDate, int64 toDate, uint8 rowsPerPage)
void CastVote(uint32 corpID, uint32 charID, uint32 voteCaseID, uint8 optionID)
static std::string GetDivisionName(uint32 corpID, uint16 acctKey)
PyRep * GetVoteOptions(uint32 voteCaseID)
PyRep * GetCorpMedalData(uint32 corpID)
void DeleteTitle(uint32 corpID, uint16 titleID)
PyRep * PyHasShares(uint32 charID, uint32 corpID)
PyRep * GetTitles(uint32 corpID)
Definition: Client.h:66
void GetMembersForQuery(std::ostringstream &query, std::vector< uint32 > &result)
PyRep * GetMedalStatuses()
static void UpdateCorpHQ(uint32 corpID, uint32 stationID)
unsigned __int32 uint32
Definition: eve-compat.h:50
double GetCloneTypeCostByID(uint32 cloneTypeID)
bool GetCurrentApplicationInfo(Corp::ApplicationInfo &aInfo)
bool CreateCorporationChangePacket(OnCorporationChanged &cc, uint32 oldCorpID, uint32 newCorpID)
void AddRoleHistory(uint32 corpID, uint32 charID, uint32 issuerID, int64 oldRoles, int64 newRoles, bool grantable)
PyRep * GetMktInfo(uint32 corpID)
uint16 GetCorpMemberLimit(uint32 corpID)
PyObject * GetStations(uint32 corpID)
void GetMembersPaged(uint32 corpID, uint8 page, DBQueryResult &res)
PyRep * GetMemberTrackingInfoSimple(uint32 corpID)
PyRep * GetMyApplications(uint32 charID)
PyRep * GetAssetInventory(uint32 corpID, EVEItemFlags locFlag, const char *flags)
signed __int64 int64
Definition: eve-compat.h:51
uint32 GetStationCorporationCEO(uint32 stationID)
PyObject * GetEveOwners(uint32 corpID)
PyObject * ListStationCorps(uint32 station_id)
PyRep * GetItemEvents(uint32 corpID, uint32 charID, int64 fromDate, int64 toDate, uint8 rowsPerPage)
bool UpdateApplication(const Corp::ApplicationInfo &aInfo)
void GetAutoPay(uint32 corpID, DBQueryResult &res)
void MoveShares(uint32 ownerID, uint32 corpID, Call_MoveShares &args)
signed __int16 int16
Definition: eve-compat.h:47
bool IsTickerTaken(std::string ticker)
void AddItemEvent(uint32 corpID, uint32 charID, uint16 eTypeID)
PyObject * GetEmploymentRecord(uint32 charID)
void UpdateAdvert(uint16 adID, uint32 corpID, int64 typeMask, int8 days, uint16 members, std::string description, uint32 channelID, std::string title)
void DeleteBulletin(uint32 bulletinID)
PyRep * GetAdRegistryData(int64 typeMask=0, bool inAlliance=false, int16 minMembers=0, uint16 maxMembers=12602)
PyRep * GetMember(uint32 charID)
bool UpdateDivisionNames(uint32 corpID, const Call_UpdateDivisionNames &divs, PyDict *notif)
int64 GetAdvertTime(uint16 adID, uint32 corpID)
unsigned __int16 uint16
Definition: eve-compat.h:48
bool HasShares(uint32 charID, uint32 corpID)
void AddVoteCase(uint32 corpID, uint32 charID, Call_InsertVoteCase &args)
PyRep * GetSanctionedItems(uint32 corpID, uint8 status=0)
void GetMembers(uint32 corpID, DBQueryResult &res)
static void GetCorpData(CorpData &data)
bool InsertApplication(Corp::ApplicationInfo &aInfo)
static std::string GetCorpName(uint32 corpID)
uint32 CreateAdvert(Client *pClient, uint32 corpID, int64 typeMask, int8 days, uint16 members, std::string description, uint32 channelID, std::string title)
PyRep * GetVoteItems(uint32 corpID, uint8 status=0, uint8 maxLen=20)
void SaveMedalData(int64 medalID, std::vector< Corp::MedalData > &dataList)
void SetMedalStatus(uint32 charID, uint16 medalID, uint8 status)
void DeleteLabel(uint32 corpID, uint32 labelID)