EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
AccountService.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 __ACCOUNTSERVICE_H_INCL__
28 #define __ACCOUNTSERVICE_H_INCL__
29 
30 #include "PyService.h"
31 #include "account/AccountDB.h"
32 
33 class Client;
34 
36 : public PyService {
37 public:
40 
41  // this moves currency, adds journal entries, and sends blink event. handles applicable corp taxes internally.
42  // will throw if fails
43  static void TranserFunds(uint32 fromID, uint32 toID, double amount, std::string reason = "", \
44  uint8 entryTypeID = Journal::EntryType::Undefined, uint32 referenceID = 0, \
46  Client* pClient=nullptr);
47 
48  // this should be the ONLY method to alter corp balances, and ONLY called from TransferFunds()
49  static void HandleCorpTransaction(uint32 corpID, int8 entryTypeID, uint32 fromID, uint32 toID, int8 currency, uint16 accountKey, \
50  double amount, std::string description, uint32 referenceID = 0);
51 
52 protected:
53  class Dispatcher;
54  Dispatcher *const m_dispatch;
55 
57 
58  PyCallable_DECL_CALL(GetCashBalance);
59  PyCallable_DECL_CALL(GetEntryTypes);
60  PyCallable_DECL_CALL(GetKeyMap);
61  PyCallable_DECL_CALL(GiveCash);
62  PyCallable_DECL_CALL(GiveCashFromCorpAccount);
63  PyCallable_DECL_CALL(GetJournal);
64  PyCallable_DECL_CALL(GetJournalForAccounts);
65  PyCallable_DECL_CALL(GetWalletDivisionsInfo);
66  PyCallable_DECL_CALL(GetDefaultContactCost);
67  PyCallable_DECL_CALL(SetContactCost);
68 };
69 
70 #endif
unsigned __int8 uint8
Definition: eve-compat.h:46
signed __int8 int8
Definition: eve-compat.h:45
AccountService(PyServiceMgr *mgr)
static void TranserFunds(uint32 fromID, uint32 toID, double amount, std::string reason="", uint8 entryTypeID=Journal::EntryType::Undefined, uint32 referenceID=0, uint16 fromKey=Account::KeyType::Cash, uint16 toKey=Account::KeyType::Cash, Client *pClient=nullptr)
PyCallable_DECL_CALL(GetCashBalance)
Dispatcher *const m_dispatch
Definition: Client.h:66
unsigned __int32 uint32
Definition: eve-compat.h:50
static void HandleCorpTransaction(uint32 corpID, int8 entryTypeID, uint32 fromID, uint32 toID, int8 currency, uint16 accountKey, double amount, std::string description, uint32 referenceID=0)
unsigned __int16 uint16
Definition: eve-compat.h:48
AccountDB m_db