EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
APIAccountManager.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: Aknor Jaden
24 */
25 
26 #ifndef __APIACCOUNTMANAGER__H__INCL__
27 #define __APIACCOUNTMANAGER__H__INCL__
28 
29 #include "apiserver/APIAccountDB.h"
31 
45 : public APIServiceManager
46 {
47 public:
49 
50  // Common call shared to all derived classes called via polymorphism
51  std::tr1::shared_ptr<std::string> ProcessCall(const APICommandCall * pAPICommandCall);
52 
53 protected:
54  std::tr1::shared_ptr<std::string> _APIKeyRequest(const APICommandCall * pAPICommandCall);
55  std::tr1::shared_ptr<std::string> _Characters(const APICommandCall * pAPICommandCall);
56  std::tr1::shared_ptr<std::string> _AccountStatus(const APICommandCall * pAPICommandCall);
57 
58  // Utility Functions:
59  std::string _GenerateAPIKey();
60 
62  static std::string m_hexCharMap;
63 
64 };
65 
66 #endif // __APIACCOUNTMANAGER__H__INCL__
std::tr1::shared_ptr< std::string > _APIKeyRequest(const APICommandCall *pAPICommandCall)
std::tr1::shared_ptr< std::string > ProcessCall(const APICommandCall *pAPICommandCall)
std::tr1::shared_ptr< std::string > _AccountStatus(const APICommandCall *pAPICommandCall)
static std::string m_hexCharMap
std::map< std::string, std::string > APICommandCall
std::string _GenerateAPIKey()
APIAccountManager(const PyServiceMgr &services)
Generic Base Class used to derive classes for specific service handlers (character, corporation, etc)
APIAccountDB m_accountDB
std::tr1::shared_ptr< std::string > _Characters(const APICommandCall *pAPICommandCall)
PyServiceMgr & services()