From 5dc4b94f106fd4c57e33fed5c169aeac08b09f72 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Mon, 3 Jun 2019 00:21:58 +1000 Subject: [PATCH] some cleanup, move lobby to Sapphire::Lobby --- src/api/Forwards.h | 89 ------------------- src/api/LoginSession.cpp | 14 --- src/api/LoginSession.h | 57 ------------ src/api/PlayerMinimal.cpp | 2 +- src/api/PlayerMinimal.h | 2 +- src/api/SapphireAPI.cpp | 34 +++---- src/api/SapphireAPI.h | 8 +- src/api/Session.cpp | 4 +- src/api/Session.h | 2 +- src/api/main.cpp | 7 +- src/common/Forwards.h | 10 ++- src/common/Framework.h | 2 +- src/common/Network/Acceptor.cpp | 2 +- src/common/Network/Acceptor.h | 2 +- src/common/Network/CommonActorControl.h | 2 +- src/common/Network/CommonNetwork.h | 2 +- src/common/Network/Connection.cpp | 2 +- src/common/Network/Connection.h | 8 +- src/common/Network/GamePacket.h | 2 +- src/common/Network/GamePacketParser.cpp | 4 +- src/common/Network/GamePacketParser.h | 2 +- src/common/Network/Hive.cpp | 2 +- src/common/Network/Hive.h | 2 +- src/common/Network/PacketContainer.cpp | 2 +- src/common/Network/PacketContainer.h | 2 +- .../Network/PacketDef/Chat/ServerChatDef.h | 2 +- src/common/Network/PacketDef/Ipcs.h | 2 +- .../Network/PacketDef/Lobby/ServerLobbyDef.h | 2 +- .../Network/PacketDef/Zone/ClientZoneDef.h | 2 +- .../Network/PacketDef/Zone/ServerZoneDef.h | 2 +- src/common/Vector3.cpp | 4 +- src/common/Version.cpp.in | 11 ++- src/dbm/DbManager.cpp | 5 +- src/lobby/Forwards.h | 9 +- src/lobby/GameConnection.cpp | 30 ++++--- src/lobby/GameConnection.h | 30 +++---- src/lobby/LobbyPacketContainer.cpp | 8 +- src/lobby/LobbyPacketContainer.h | 4 +- src/lobby/ServerLobby.cpp | 10 ++- src/world/Network/GameConnection.h | 14 +-- src/world/ServerMgr.cpp | 6 +- src/world/mainGameServer.cpp | 2 +- 42 files changed, 126 insertions(+), 282 deletions(-) delete mode 100644 src/api/Forwards.h delete mode 100644 src/api/LoginSession.cpp delete mode 100644 src/api/LoginSession.h diff --git a/src/api/Forwards.h b/src/api/Forwards.h deleted file mode 100644 index 8c50d1ff..00000000 --- a/src/api/Forwards.h +++ /dev/null @@ -1,89 +0,0 @@ -#ifndef _FORWARDS_H -#define _FORWARDS_H - -#include - -namespace Sapphire -{ - class Cell; - class Zone; - class Item; - class ItemContainer; - class Inventory; - class Session; - class ZonePosition; - using ZonePtr = std::shared_ptr< Zone >; - using ItemPtr = std::shared_ptr< Item >; - using ItemContainerPtr = std::shared_ptr< ItemContainer >; - using InventoryPtr = std::shared_ptr< Inventory >; - using SessionPtr = std::shared_ptr< Session >; - using ZonePositionPtr = std::shared_ptr< ZonePosition >; - - namespace StatusEffect - { - class StatusEffect; - class StatusEffectContainer; - using StatusEffectPtr = std::shared_ptr< StatusEffect >; - using StatusEffectContainerPtr = std::shared_ptr< StatusEffectContainer >; - } - - namespace Entity - { - class Chara; - class Player; - class BattleNpc; - using ActorPtr = std::shared_ptr< Chara >; - using PlayerPtr = std::shared_ptr< Player >; - using BattleNpcPtr = std::shared_ptr< BattleNpc >; - } - - namespace Event - { - class EventHandler; - using EventPtr = std::shared_ptr< EventHandler >; - } - - namespace Action - { - class Action; - class ActionTeleport; - class EventAction; - using ActionPtr = std::shared_ptr< Action >; - using ActionTeleportPtr = std::shared_ptr< ActionTeleport >; - using EventActionPtr = std::shared_ptr< EventAction >; - } - - namespace Network - { - class Hive; - class Acceptor; - class Connection; - class WorldConnection; - class SessionConnection; - class ZoneConnection; - using HivePtr = std::shared_ptr< Hive >; - using AcceptorPtr = std::shared_ptr< Acceptor >; - using ConnectionPtr = std::shared_ptr< Connection >; - using WorldConnectionPtr = std::shared_ptr< WorldConnection >; - using ZoneConnectionPtr = std::shared_ptr< ZoneConnection >; - using SessionConnectionPtr = std::shared_ptr< SessionConnection >; - - namespace Packets - { - class GamePacket; - using GamePacketPtr = std::shared_ptr< GamePacket >; - } - - } - - namespace Scripting - { - using EventReturnCallback = std::function< void( Entity::Player&, uint32_t, uint16_t, uint16_t, uint16_t, - uint16_t ) >; - } - - using ActionCallback = std::function< void( Entity::Player&, uint32_t, uint64_t ) >; - -} - -#endif diff --git a/src/api/LoginSession.cpp b/src/api/LoginSession.cpp deleted file mode 100644 index 9b947d19..00000000 --- a/src/api/LoginSession.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "LoginSession.h" - -namespace Sapphire { - LoginSession::LoginSession( void ) - { - //setSocket(NULL); - } - - LoginSession::~LoginSession( void ) - { - - } -} - diff --git a/src/api/LoginSession.h b/src/api/LoginSession.h deleted file mode 100644 index 1811bf09..00000000 --- a/src/api/LoginSession.h +++ /dev/null @@ -1,57 +0,0 @@ -#pragma once - -#ifndef _CLoginSession_H_ -#define _CLoginSession_H_ - -#include -#include -#include - -namespace Sapphire -{ - - class LoginSession - { - - private: - uint32_t m_ip; - uint32_t m_accountId; - uint8_t m_sessionId[56]; - - public: - std::string newCharName; - - LoginSession( void ); - - ~LoginSession( void ); - - uint32_t getIp() - { - return m_ip; - } - - void setSessionId( uint8_t* sessionId ) - { - memcpy( m_sessionId, sessionId, 56 ); - } - - void setIp( uint32_t ip ) - { - m_ip = ip; - } - - uint32_t getAccountId() - { - return m_accountId; - } - - void setAccountId( uint32_t id ) - { - m_accountId = id; - } - - }; - -} - -#endif diff --git a/src/api/PlayerMinimal.cpp b/src/api/PlayerMinimal.cpp index 70aeca40..37d08121 100644 --- a/src/api/PlayerMinimal.cpp +++ b/src/api/PlayerMinimal.cpp @@ -8,7 +8,7 @@ extern Sapphire::Data::ExdDataGenerated g_exdDataGen; -namespace Sapphire { +namespace Sapphire::API { using namespace Common; diff --git a/src/api/PlayerMinimal.h b/src/api/PlayerMinimal.h index dda3202e..a9af97bb 100644 --- a/src/api/PlayerMinimal.h +++ b/src/api/PlayerMinimal.h @@ -5,7 +5,7 @@ #include #include -namespace Sapphire +namespace Sapphire::API { class PlayerMinimal diff --git a/src/api/SapphireAPI.cpp b/src/api/SapphireAPI.cpp index f07c7ce5..ed296ffd 100644 --- a/src/api/SapphireAPI.cpp +++ b/src/api/SapphireAPI.cpp @@ -10,7 +10,9 @@ #include -bool Sapphire::Network::SapphireAPI::login( const std::string& username, const std::string& pass, std::string& sId ) +using namespace Sapphire::API; + +bool SapphireAPI::login( const std::string& username, const std::string& pass, std::string& sId ) { std::string query = "SELECT account_id FROM accounts WHERE account_name = '" + username + "' AND account_pass = '" + pass + "';"; @@ -53,7 +55,7 @@ bool Sapphire::Network::SapphireAPI::login( const std::string& username, const s } -bool Sapphire::Network::SapphireAPI::insertSession( const uint32_t accountId, std::string& sId ) +bool SapphireAPI::insertSession( const uint32_t accountId, std::string& sId ) { // create session for the new sessionid and store to sessionlist auto pSession = std::make_shared< Session >(); @@ -66,7 +68,7 @@ bool Sapphire::Network::SapphireAPI::insertSession( const uint32_t accountId, st } -bool Sapphire::Network::SapphireAPI::createAccount( const std::string& username, const std::string& pass, std::string& sId ) +bool SapphireAPI::createAccount( const std::string& username, const std::string& pass, std::string& sId ) { // get account from login name auto pQR = g_charaDb.query( "SELECT account_id FROM accounts WHERE account_name = '" + username + "';" ); @@ -96,11 +98,11 @@ bool Sapphire::Network::SapphireAPI::createAccount( const std::string& username, } -int Sapphire::Network::SapphireAPI::createCharacter( const uint32_t accountId, const std::string& name, - const std::string& infoJson, - const uint32_t gmRank ) +int SapphireAPI::createCharacter( const uint32_t accountId, const std::string& name, + const std::string& infoJson, + const uint32_t gmRank ) { - Sapphire::PlayerMinimal newPlayer; + API::PlayerMinimal newPlayer; newPlayer.setAccountId( accountId ); newPlayer.setId( getNextCharId() ); @@ -169,7 +171,7 @@ int Sapphire::Network::SapphireAPI::createCharacter( const uint32_t accountId, c return newPlayer.getAccountId(); } -void Sapphire::Network::SapphireAPI::deleteCharacter( std::string name, const uint32_t accountId ) +void SapphireAPI::deleteCharacter( std::string name, const uint32_t accountId ) { PlayerMinimal deletePlayer; auto charList = getCharList( accountId ); @@ -199,17 +201,17 @@ void Sapphire::Network::SapphireAPI::deleteCharacter( std::string name, const ui g_charaDb.execute( "DELETE FROM charaquest WHERE CharacterId LIKE '" + std::to_string( id ) + "';" ); } -std::vector< Sapphire::PlayerMinimal > Sapphire::Network::SapphireAPI::getCharList( uint32_t accountId ) +std::vector< PlayerMinimal > SapphireAPI::getCharList( uint32_t accountId ) { - std::vector< Sapphire::PlayerMinimal > charList; + std::vector< API::PlayerMinimal > charList; auto pQR = g_charaDb.query( "SELECT CharacterId, ContentId FROM charainfo WHERE AccountId = " + std::to_string( accountId ) + ";" ); while( pQR->next() ) { - Sapphire::PlayerMinimal player; + API::PlayerMinimal player; uint32_t charId = pQR->getUInt( 1 ); @@ -220,7 +222,7 @@ std::vector< Sapphire::PlayerMinimal > Sapphire::Network::SapphireAPI::getCharLi return charList; } -bool Sapphire::Network::SapphireAPI::checkNameTaken( std::string name ) +bool SapphireAPI::checkNameTaken( std::string name ) { g_charaDb.escapeString( name ); @@ -234,7 +236,7 @@ bool Sapphire::Network::SapphireAPI::checkNameTaken( std::string name ) return true; } -uint32_t Sapphire::Network::SapphireAPI::getNextCharId() +uint32_t SapphireAPI::getNextCharId() { uint32_t charId = 0; @@ -250,7 +252,7 @@ uint32_t Sapphire::Network::SapphireAPI::getNextCharId() return charId; } -uint64_t Sapphire::Network::SapphireAPI::getNextContentId() +uint64_t SapphireAPI::getNextContentId() { uint64_t contentId = 0; @@ -266,7 +268,7 @@ uint64_t Sapphire::Network::SapphireAPI::getNextContentId() return contentId; } -int Sapphire::Network::SapphireAPI::checkSession( const std::string& sId ) +int SapphireAPI::checkSession( const std::string& sId ) { auto it = m_sessionMap.find( sId ); @@ -277,7 +279,7 @@ int Sapphire::Network::SapphireAPI::checkSession( const std::string& sId ) } -bool Sapphire::Network::SapphireAPI::removeSession( const std::string& sId ) +bool SapphireAPI::removeSession( const std::string& sId ) { auto it = m_sessionMap.find( sId ); diff --git a/src/api/SapphireAPI.h b/src/api/SapphireAPI.h index 7b2bbd4c..222643b0 100644 --- a/src/api/SapphireAPI.h +++ b/src/api/SapphireAPI.h @@ -7,13 +7,9 @@ #include #include "PlayerMinimal.h" -namespace Sapphire +namespace Sapphire::API { class Session; -} - -namespace Sapphire::Network -{ class SapphireAPI { @@ -34,7 +30,7 @@ namespace Sapphire::Network bool insertSession( uint32_t accountId, std::string& sId ); - std::vector< Sapphire::PlayerMinimal > getCharList( uint32_t accountId ); + std::vector< API::PlayerMinimal > getCharList( uint32_t accountId ); bool checkNameTaken( std::string name ); diff --git a/src/api/Session.cpp b/src/api/Session.cpp index fc40d265..b0992293 100644 --- a/src/api/Session.cpp +++ b/src/api/Session.cpp @@ -1,6 +1,7 @@ #include "Session.h" -namespace Sapphire { +using namespace Sapphire::API; + Session::Session() { @@ -35,4 +36,3 @@ void Session::setAccountId( uint32_t id ) { m_accountId = id; } -} diff --git a/src/api/Session.h b/src/api/Session.h index 5d9efc41..c6fc26fe 100644 --- a/src/api/Session.h +++ b/src/api/Session.h @@ -5,7 +5,7 @@ #include #include -namespace Sapphire +namespace Sapphire::API { class Session diff --git a/src/api/main.cpp b/src/api/main.cpp index 3ea413f3..191660e4 100644 --- a/src/api/main.cpp +++ b/src/api/main.cpp @@ -29,7 +29,6 @@ #include #include -#include "Forwards.h" #include "SapphireAPI.h" #include @@ -38,7 +37,7 @@ Sapphire::Common::Util::CrashHandler crashHandler; Sapphire::Db::DbWorkerPool< Sapphire::Db::ZoneDbConnection > g_charaDb; Sapphire::Data::ExdDataGenerated g_exdDataGen; -Sapphire::Network::SapphireAPI g_sapphireAPI; +Sapphire::API::SapphireAPI g_sapphireAPI; namespace fs = std::experimental::filesystem; @@ -59,7 +58,7 @@ Sapphire::Common::Config::ApiConfig m_config; void reloadConfig() { - auto pConfig = std::make_shared< Sapphire::ConfigMgr >(); + auto pConfig = std::make_shared< Sapphire::Common::ConfigMgr >(); Logger::info( "Loading config " + configPath ); @@ -336,7 +335,7 @@ void createCharacter( shared_ptr< HttpServer::Response > response, shared_ptr< H std::string name = json["name"]; std::string infoJson = json["infoJson"]; - std::string finalJson = Sapphire::Util::base64Decode( infoJson ); + std::string finalJson = Common::Util::base64Decode( infoJson ); // reloadConfig(); diff --git a/src/common/Forwards.h b/src/common/Forwards.h index 085dfbe9..620e39a9 100644 --- a/src/common/Forwards.h +++ b/src/common/Forwards.h @@ -3,6 +3,12 @@ #include +namespace Sapphire +{ + class Framework; + using FrameworkPtr = std::shared_ptr< Framework >; +} + namespace Sapphire::Common { class ConfigMgr; @@ -11,7 +17,7 @@ namespace Sapphire::Common using FrameworkPtr = std::shared_ptr< Framework >; } -namespace Sapphire::Common::Network +namespace Sapphire::Network { class Hive; class Acceptor; @@ -21,7 +27,7 @@ namespace Sapphire::Common::Network using ConnectionPtr = std::shared_ptr< Connection >; } -namespace Sapphire::Common::Network::Packets +namespace Sapphire::Network::Packets { class GamePacket; class FFXIVPacketBase; diff --git a/src/common/Framework.h b/src/common/Framework.h index 0e752801..5714bdb3 100644 --- a/src/common/Framework.h +++ b/src/common/Framework.h @@ -7,7 +7,7 @@ #include #include -namespace Sapphire::Common +namespace Sapphire { class Framework diff --git a/src/common/Network/Acceptor.cpp b/src/common/Network/Acceptor.cpp index 2238b5fa..43c17d8f 100644 --- a/src/common/Network/Acceptor.cpp +++ b/src/common/Network/Acceptor.cpp @@ -3,7 +3,7 @@ #include "Connection.h" -using namespace Sapphire::Common; +using namespace Sapphire; Network::Acceptor::Acceptor( HivePtr hive ) : m_hive( hive ), diff --git a/src/common/Network/Acceptor.h b/src/common/Network/Acceptor.h index e1a663eb..faae123f 100644 --- a/src/common/Network/Acceptor.h +++ b/src/common/Network/Acceptor.h @@ -13,7 +13,7 @@ #include -namespace Sapphire::Common::Network +namespace Sapphire::Network { class Connection; diff --git a/src/common/Network/CommonActorControl.h b/src/common/Network/CommonActorControl.h index 043715f1..b3ecf167 100644 --- a/src/common/Network/CommonActorControl.h +++ b/src/common/Network/CommonActorControl.h @@ -10,7 +10,7 @@ // The following enumerations are structures to require their type be included. // They are also defined within the Sapphire::Common namespace to avoid collisions. // +--------------------------------------------------------------------------- -namespace Sapphire::Common::Network::ActorControl +namespace Sapphire::Network::ActorControl { enum ActorControlType : uint16_t diff --git a/src/common/Network/CommonNetwork.h b/src/common/Network/CommonNetwork.h index c4a27604..1a2bd4d6 100644 --- a/src/common/Network/CommonNetwork.h +++ b/src/common/Network/CommonNetwork.h @@ -5,7 +5,7 @@ #include #include "PacketDef/Ipcs.h" -namespace Sapphire::Common::Network::Packets +namespace Sapphire::Network::Packets { /** diff --git a/src/common/Network/Connection.cpp b/src/common/Network/Connection.cpp index 3ac0bee6..1bc9054a 100644 --- a/src/common/Network/Connection.cpp +++ b/src/common/Network/Connection.cpp @@ -3,7 +3,7 @@ #include #include "Framework.h" -using namespace Sapphire::Common; +using namespace Sapphire; Network::Connection::Connection( HivePtr hive, FrameworkPtr pFw ) : m_hive( hive ), diff --git a/src/common/Network/Connection.h b/src/common/Network/Connection.h index 3a4623d2..ef5c4070 100644 --- a/src/common/Network/Connection.h +++ b/src/common/Network/Connection.h @@ -12,13 +12,7 @@ #include "Acceptor.h" #include -namespace Sapphire::Common -{ - class Framework; - using FrameworkPtr = std::shared_ptr< Framework >; -} - -namespace Sapphire::Common::Network +namespace Sapphire::Network { class Hive; diff --git a/src/common/Network/GamePacket.h b/src/common/Network/GamePacket.h index f40eadc7..c1c06b76 100644 --- a/src/common/Network/GamePacket.h +++ b/src/common/Network/GamePacket.h @@ -14,7 +14,7 @@ #include "CommonNetwork.h" #include "PacketDef/Ipcs.h" -namespace Sapphire::Common::Network::Packets +namespace Sapphire::Network::Packets { // Must forward define these in order to enable the compiler to produce the diff --git a/src/common/Network/GamePacketParser.cpp b/src/common/Network/GamePacketParser.cpp index 4577c21e..b14d2657 100644 --- a/src/common/Network/GamePacketParser.cpp +++ b/src/common/Network/GamePacketParser.cpp @@ -3,8 +3,8 @@ #include // memcpy -using namespace Sapphire::Common; -using namespace Sapphire::Common::Network::Packets; +using namespace Sapphire; +using namespace Sapphire::Network::Packets; PacketParseResult Network::Packets::getHeader( const std::vector< uint8_t >& buffer, const uint32_t offset, diff --git a/src/common/Network/GamePacketParser.h b/src/common/Network/GamePacketParser.h index e847a7c4..c50b486a 100644 --- a/src/common/Network/GamePacketParser.h +++ b/src/common/Network/GamePacketParser.h @@ -3,7 +3,7 @@ #include "CommonNetwork.h" -namespace Sapphire::Common::Network::Packets +namespace Sapphire::Network::Packets { enum PacketParseResult diff --git a/src/common/Network/Hive.cpp b/src/common/Network/Hive.cpp index 20279869..758c30d3 100644 --- a/src/common/Network/Hive.cpp +++ b/src/common/Network/Hive.cpp @@ -2,7 +2,7 @@ #include #include "Hive.h" -using namespace Sapphire::Common; +using namespace Sapphire; //----------------------------------------------------------------------------- diff --git a/src/common/Network/Hive.h b/src/common/Network/Hive.h index 76e53814..8ac37328 100644 --- a/src/common/Network/Hive.h +++ b/src/common/Network/Hive.h @@ -5,7 +5,7 @@ #include #include -namespace Sapphire::Common::Network +namespace Sapphire::Network { class Hive : public std::enable_shared_from_this< Hive > diff --git a/src/common/Network/PacketContainer.cpp b/src/common/Network/PacketContainer.cpp index 7cff0b48..0b6fa1b1 100644 --- a/src/common/Network/PacketContainer.cpp +++ b/src/common/Network/PacketContainer.cpp @@ -7,7 +7,7 @@ #include #include -using namespace Sapphire::Common; +using namespace Sapphire; Network::Packets::PacketContainer::PacketContainer( uint32_t segmentTargetOverride ) : m_segmentTargetOverride( segmentTargetOverride ) diff --git a/src/common/Network/PacketContainer.h b/src/common/Network/PacketContainer.h index 337d73e0..80a35cf1 100644 --- a/src/common/Network/PacketContainer.h +++ b/src/common/Network/PacketContainer.h @@ -8,7 +8,7 @@ #include "GamePacket.h" #include "Forwards.h" -namespace Sapphire::Common::Network::Packets +namespace Sapphire::Network::Packets { using FFXIVPacketBasePtr = std::shared_ptr< FFXIVPacketBase >; diff --git a/src/common/Network/PacketDef/Chat/ServerChatDef.h b/src/common/Network/PacketDef/Chat/ServerChatDef.h index 8c6c8e01..ce614f7c 100644 --- a/src/common/Network/PacketDef/Chat/ServerChatDef.h +++ b/src/common/Network/PacketDef/Chat/ServerChatDef.h @@ -4,7 +4,7 @@ #include #include -namespace Sapphire::Common::Network::Packets::Server +namespace Sapphire::Network::Packets::Server { /** diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index 5d769f71..c6fdac98 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -3,7 +3,7 @@ #include -namespace Sapphire::Common::Network::Packets +namespace Sapphire::Network::Packets { //////////////////////////////////////////////////////////////////////////////// diff --git a/src/common/Network/PacketDef/Lobby/ServerLobbyDef.h b/src/common/Network/PacketDef/Lobby/ServerLobbyDef.h index d679db5e..811a6e4f 100644 --- a/src/common/Network/PacketDef/Lobby/ServerLobbyDef.h +++ b/src/common/Network/PacketDef/Lobby/ServerLobbyDef.h @@ -4,7 +4,7 @@ #include #include -namespace Sapphire::Common::Network::Packets::Server { +namespace Sapphire::Network::Packets::Server { struct FFXIVIpcRetainerList : FFXIVIpcBasePacket< LobbyRetainerList > diff --git a/src/common/Network/PacketDef/Zone/ClientZoneDef.h b/src/common/Network/PacketDef/Zone/ClientZoneDef.h index 424602d8..bf19fb7e 100644 --- a/src/common/Network/PacketDef/Zone/ClientZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ClientZoneDef.h @@ -4,7 +4,7 @@ #include #include -namespace Sapphire::Common::Network::Packets::Client +namespace Sapphire::Network::Packets::Client { struct FFXIVIpcGmCommand1 : diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index f95b2736..80588a04 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -10,7 +10,7 @@ #include #include -namespace Sapphire::Common::Network::Packets::Server +namespace Sapphire::Network::Packets::Server { /** diff --git a/src/common/Vector3.cpp b/src/common/Vector3.cpp index b2f7f993..e364fc99 100644 --- a/src/common/Vector3.cpp +++ b/src/common/Vector3.cpp @@ -1,6 +1,8 @@ #include "Vector3.h" -inline bool Sapphire::Common::FFXIVARR_POSITION3::operator == ( const FFXIVARR_POSITION3& target ) const +using namespace Sapphire::Common; + +inline bool FFXIVARR_POSITION3::operator == ( const FFXIVARR_POSITION3& target ) const { return x == target.x && y == target.y && z == target.z; } diff --git a/src/common/Version.cpp.in b/src/common/Version.cpp.in index 9f973861..cd011ae5 100644 --- a/src/common/Version.cpp.in +++ b/src/common/Version.cpp.in @@ -1,10 +1,9 @@ #include "Version.h" -namespace Sapphire { -namespace Version { +namespace Sapphire::Version +{ -const std::string GIT_HASH = "@GIT_SHA1@"; -const std::string VERSION = "@VERSION@"; + const std::string GIT_HASH = "@GIT_SHA1@"; + const std::string VERSION = "@VERSION@"; -} /* Version */ -} /* Sapphire */ +} /* Sapphire::Version */ diff --git a/src/dbm/DbManager.cpp b/src/dbm/DbManager.cpp index 1be6b172..b81790a4 100644 --- a/src/dbm/DbManager.cpp +++ b/src/dbm/DbManager.cpp @@ -17,10 +17,7 @@ DbManager::DbManager( const std::string& host, const std::string& database, cons { } -DbManager::~DbManager() -{ - -} +DbManager::~DbManager() = default; bool DbManager::execute( const std::string& sql ) { diff --git a/src/lobby/Forwards.h b/src/lobby/Forwards.h index d32f6f16..58a724d6 100644 --- a/src/lobby/Forwards.h +++ b/src/lobby/Forwards.h @@ -12,6 +12,11 @@ x ## Ptr make_ ## x( Args &&...args ) { \ return std::make_shared< x >( std::forward< Args >( args ) ... ); }\ typedef std::vector< x > x ## PtrList; +namespace Sapphire +{ + TYPE_FORWARD( Framework ); +} + namespace Sapphire::Lobby { TYPE_FORWARD( LobbySession ); @@ -22,14 +27,14 @@ namespace Sapphire::Lobby::Network TYPE_FORWARD( GameConnection ); } -namespace Sapphire::Common::Network +namespace Sapphire::Network { TYPE_FORWARD( Hive ); TYPE_FORWARD( Acceptor ); TYPE_FORWARD( Connection ); } -namespace Sapphire::Common::Network::Packets +namespace Sapphire::Network::Packets { TYPE_FORWARD( GamePacket ); TYPE_FORWARD( FFXIVPacketBase ); diff --git a/src/lobby/GameConnection.cpp b/src/lobby/GameConnection.cpp index 1fca879b..034b4755 100644 --- a/src/lobby/GameConnection.cpp +++ b/src/lobby/GameConnection.cpp @@ -15,17 +15,19 @@ #include "RestConnector.h" #include "LobbySession.h" +#include "Forwards.h" + using namespace Sapphire; -using namespace Sapphire::Common::Network::Packets; -using namespace Sapphire::Common::Network::Packets::Server; +using namespace Sapphire::Network::Packets; +using namespace Sapphire::Network::Packets::Server; extern Lobby::ServerLobby g_serverLobby; extern Lobby::Network::RestConnector g_restConnector; -Lobby::Network::GameConnection::GameConnection( Common::Network::HivePtr pHive, - Common::Network::AcceptorPtr pAcceptor, - Common::FrameworkPtr pFw ) : - Common::Network::Connection( pHive, pFw ), +Lobby::Network::GameConnection::GameConnection( Sapphire::Network::HivePtr pHive, + Sapphire::Network::AcceptorPtr pAcceptor, + FrameworkPtr pFw ) : + Sapphire::Network::Connection( pHive, pFw ), m_pAcceptor( pAcceptor ), m_bEncryptionInitialized( false ) { @@ -56,8 +58,8 @@ void Lobby::Network::GameConnection::onRecv( std::vector< uint8_t >& buffer ) { m_packets.insert( std::end( m_packets ), std::begin( buffer ), std::end( buffer ) ); // This is assumed packet always start with valid FFXIVARR_PACKET_HEADER for now. - Common::Network::Packets::FFXIVARR_PACKET_HEADER packetHeader{}; - const auto headerResult = Common::Network::Packets::getHeader( m_packets, 0, packetHeader ); + Sapphire::Network::Packets::FFXIVARR_PACKET_HEADER packetHeader{}; + const auto headerResult = Sapphire::Network::Packets::getHeader( m_packets, 0, packetHeader ); if( headerResult == Incomplete ) return; @@ -70,8 +72,8 @@ void Lobby::Network::GameConnection::onRecv( std::vector< uint8_t >& buffer ) } // Dissect packet list - std::vector< Common::Network::Packets::FFXIVARR_PACKET_RAW > packetList; - const auto packetResult = Common::Network::Packets::getPackets( m_packets, sizeof( struct FFXIVARR_PACKET_HEADER ), + std::vector< Sapphire::Network::Packets::FFXIVARR_PACKET_RAW > packetList; + const auto packetResult = Sapphire::Network::Packets::getPackets( m_packets, sizeof( struct FFXIVARR_PACKET_HEADER ), packetHeader, packetList ); if( packetResult == Incomplete ) @@ -381,7 +383,7 @@ bool Lobby::Network::GameConnection::createOrModifyChar( FFXIVARR_PACKET_RAW& pa return false; } -void Lobby::Network::GameConnection::handleGamePacket( Common::Network::Packets::FFXIVARR_PACKET_RAW& packet ) +void Lobby::Network::GameConnection::handleGamePacket( Sapphire::Network::Packets::FFXIVARR_PACKET_RAW& packet ) { uint32_t tmpId = packet.segHdr.target_actor; @@ -428,7 +430,7 @@ void Lobby::Network::GameConnection::sendPacket( Packets::LobbyPacketContainer& send( sendBuffer ); } -void Lobby::Network::GameConnection::sendPackets( Common::Network::Packets::PacketContainer* pPacket ) +void Lobby::Network::GameConnection::sendPackets( Sapphire::Network::Packets::PacketContainer* pPacket ) { std::vector< uint8_t > sendBuffer; @@ -457,8 +459,8 @@ void Lobby::Network::GameConnection::generateEncryptionKey( uint32_t key, const Common::Util::md5( m_baseKey, m_encKey, 0x2C ); } -void Lobby::Network::GameConnection::handlePackets( const Common::Network::Packets::FFXIVARR_PACKET_HEADER& ipcHeader, - const std::vector< Common::Network::Packets::FFXIVARR_PACKET_RAW >& packetData ) +void Lobby::Network::GameConnection::handlePackets( const Sapphire::Network::Packets::FFXIVARR_PACKET_HEADER& ipcHeader, + const std::vector< Sapphire::Network::Packets::FFXIVARR_PACKET_RAW >& packetData ) { for( auto inPacket : packetData ) diff --git a/src/lobby/GameConnection.h b/src/lobby/GameConnection.h index a04a84f0..1ca20a89 100644 --- a/src/lobby/GameConnection.h +++ b/src/lobby/GameConnection.h @@ -19,7 +19,7 @@ namespace Sapphire::Lobby::Network { - class GameConnection : public Common::Network::Connection + class GameConnection : public Sapphire::Network::Connection { private: @@ -32,16 +32,16 @@ namespace Sapphire::Lobby::Network bool m_bEncryptionInitialized; - Common::Network::AcceptorPtr m_pAcceptor; + Sapphire::Network::AcceptorPtr m_pAcceptor; LobbySessionPtr m_pSession; - Common::Util::LockedQueue< Common::Network::Packets::GamePacketPtr > m_inQueue; - Common::Util::LockedQueue< Common::Network::Packets::GamePacketPtr > m_outQueue; + Common::Util::LockedQueue< Sapphire::Network::Packets::GamePacketPtr > m_inQueue; + Common::Util::LockedQueue< Sapphire::Network::Packets::GamePacketPtr > m_outQueue; std::vector< uint8_t > m_packets; public: - GameConnection( Common::Network::HivePtr pHive, Common::Network::AcceptorPtr pAcceptor, Common::FrameworkPtr pFw ); + GameConnection( Sapphire::Network::HivePtr pHive, Sapphire::Network::AcceptorPtr pAcceptor, FrameworkPtr pFw ); ~GameConnection(); @@ -58,26 +58,26 @@ namespace Sapphire::Lobby::Network void sendError( uint64_t sequence, uint32_t errorcode, uint16_t messageId, uint32_t tmpId ); - void getCharList( Common::Network::Packets::FFXIVARR_PACKET_RAW& packet, uint32_t tmpId ); + void getCharList( Sapphire::Network::Packets::FFXIVARR_PACKET_RAW& packet, uint32_t tmpId ); - void enterWorld( Common::Network::Packets::FFXIVARR_PACKET_RAW& packet, uint32_t tmpId ); + void enterWorld( Sapphire::Network::Packets::FFXIVARR_PACKET_RAW& packet, uint32_t tmpId ); - bool sendServiceAccountList( Common::Network::Packets::FFXIVARR_PACKET_RAW& packet, uint32_t tmpId ); + bool sendServiceAccountList( Sapphire::Network::Packets::FFXIVARR_PACKET_RAW& packet, uint32_t tmpId ); - bool createOrModifyChar( Common::Network::Packets::FFXIVARR_PACKET_RAW& packet, uint32_t tmpId ); + bool createOrModifyChar( Sapphire::Network::Packets::FFXIVARR_PACKET_RAW& packet, uint32_t tmpId ); - void handlePackets( const Common::Network::Packets::FFXIVARR_PACKET_HEADER& ipcHeader, - const std::vector< Common::Network::Packets::FFXIVARR_PACKET_RAW >& packetData ); + void handlePackets( const Sapphire::Network::Packets::FFXIVARR_PACKET_HEADER& ipcHeader, + const std::vector< Sapphire::Network::Packets::FFXIVARR_PACKET_RAW >& packetData ); - void handleGamePacket( Common::Network::Packets::FFXIVARR_PACKET_RAW& pPacket ); + void handleGamePacket( Sapphire::Network::Packets::FFXIVARR_PACKET_RAW& pPacket ); - void handlePacket( Common::Network::Packets::FFXIVPacketBasePtr pPacket ); + void handlePacket( Sapphire::Network::Packets::FFXIVPacketBasePtr pPacket ); - void sendPackets( Common::Network::Packets::PacketContainer* pPacket ); + void sendPackets( Sapphire::Network::Packets::PacketContainer* pPacket ); void sendPacket( Packets::LobbyPacketContainer& pLpc ); - void sendSinglePacket( Common::Network::Packets::FFXIVPacketBasePtr pPacket ); + void sendSinglePacket( Sapphire::Network::Packets::FFXIVPacketBasePtr pPacket ); }; diff --git a/src/lobby/LobbyPacketContainer.cpp b/src/lobby/LobbyPacketContainer.cpp index 8b81c3d8..ae270d8f 100644 --- a/src/lobby/LobbyPacketContainer.cpp +++ b/src/lobby/LobbyPacketContainer.cpp @@ -6,12 +6,12 @@ using namespace Sapphire; using namespace Sapphire::Common; -using namespace Sapphire::Common::Network::Packets; +using namespace Sapphire::Network::Packets; Lobby::Network::Packets::LobbyPacketContainer::LobbyPacketContainer( uint8_t* encKey ) { - memset( &m_header, 0, sizeof( Common::Network::Packets::FFXIVARR_PACKET_HEADER ) ); - m_header.size = sizeof( Common::Network::Packets::FFXIVARR_PACKET_HEADER ); + memset( &m_header, 0, sizeof( Sapphire::Network::Packets::FFXIVARR_PACKET_HEADER ) ); + m_header.size = sizeof( Sapphire::Network::Packets::FFXIVARR_PACKET_HEADER ); m_encKey = encKey; @@ -51,6 +51,6 @@ uint8_t* Lobby::Network::Packets::LobbyPacketContainer::getRawData( bool addstuf m_header.unknown_0 = 0xff41a05252; m_header.timestamp = Common::Util::getTimeMs(); } - memcpy( m_dataBuf, &m_header, sizeof( Common::Network::Packets::FFXIVARR_PACKET_HEADER ) ); + memcpy( m_dataBuf, &m_header, sizeof( Sapphire::Network::Packets::FFXIVARR_PACKET_HEADER ) ); return m_dataBuf; } diff --git a/src/lobby/LobbyPacketContainer.h b/src/lobby/LobbyPacketContainer.h index f6c714a8..44a5fd21 100644 --- a/src/lobby/LobbyPacketContainer.h +++ b/src/lobby/LobbyPacketContainer.h @@ -12,7 +12,7 @@ namespace Sapphire::Lobby::Network::Packets { - using FFXIVPacketBasePtr = std::shared_ptr< Common::Network::Packets::FFXIVPacketBase >; + using FFXIVPacketBasePtr = std::shared_ptr< Sapphire::Network::Packets::FFXIVPacketBase >; class LobbyPacketContainer { @@ -28,7 +28,7 @@ namespace Sapphire::Lobby::Network::Packets uint8_t* getRawData( bool addstuff = true ); private: - Common::Network::Packets::FFXIVARR_PACKET_HEADER m_header; + Sapphire::Network::Packets::FFXIVARR_PACKET_HEADER m_header; uint8_t* m_encKey; diff --git a/src/lobby/ServerLobby.cpp b/src/lobby/ServerLobby.cpp index 68076f72..f8029b27 100644 --- a/src/lobby/ServerLobby.cpp +++ b/src/lobby/ServerLobby.cpp @@ -21,6 +21,8 @@ #include +using namespace Sapphire; + Sapphire::Lobby::Network::RestConnector g_restConnector; namespace Sapphire::Lobby @@ -63,15 +65,15 @@ namespace Sapphire::Lobby Logger::setLogLevel( m_config.global.general.logLevel ); - auto pFw = std::make_shared< Common::Framework >(); - Common::Network::HivePtr hive( new Common::Network::Hive() ); - Common::Network::addServerToHive< Network::GameConnection >( m_ip, m_port, hive, pFw ); + auto pFw = std::make_shared< Framework >(); + auto hive = Sapphire::Network::make_Hive(); + Sapphire::Network::addServerToHive< Network::GameConnection >( m_ip, m_port, hive, pFw ); Logger::info( "Lobby server running on {0}:{1}", m_ip, m_port ); std::vector< std::thread > threadGroup; - threadGroup.emplace_back( std::bind( &Common::Network::Hive::run, hive.get() ) ); + threadGroup.emplace_back( std::bind( &Sapphire::Network::Hive::run, hive.get() ) ); for( auto& thread : threadGroup ) if( thread.joinable() ) diff --git a/src/world/Network/GameConnection.h b/src/world/Network/GameConnection.h index b5063698..07962fd9 100644 --- a/src/world/Network/GameConnection.h +++ b/src/world/Network/GameConnection.h @@ -28,12 +28,12 @@ namespace Sapphire::Network None }; - class GameConnection : public Common::Network::Connection + class GameConnection : public Network::Connection { private: typedef void ( GameConnection::* Handler )( FrameworkPtr pFw, - const Common::Network::Packets::FFXIVARR_PACKET_RAW& inPacket, + const Network::Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player ); using HandlerMap = std::map< uint16_t, Handler >; @@ -51,7 +51,7 @@ namespace Sapphire::Network World::SessionPtr m_pSession; - Common::Util::LockedQueue< Common::Network::Packets::FFXIVARR_PACKET_RAW > m_inQueue; + Common::Util::LockedQueue< Network::Packets::FFXIVARR_PACKET_RAW > m_inQueue; Common::Util::LockedQueue< Packets::FFXIVPacketBasePtr > m_outQueue; std::vector< uint8_t > m_packets; @@ -82,15 +82,15 @@ namespace Sapphire::Network void processOutQueue(); - void handlePacket( Sapphire::Network::Packets::FFXIVARR_PACKET_RAW& pPacket ); + void handlePacket( Network::Packets::FFXIVARR_PACKET_RAW& pPacket ); - void handleZonePacket( Sapphire::Network::Packets::FFXIVARR_PACKET_RAW& pPacket ); + void handleZonePacket( Network::Packets::FFXIVARR_PACKET_RAW& pPacket ); - void handleChatPacket( Sapphire::Network::Packets::FFXIVARR_PACKET_RAW& pPacket ); + void handleChatPacket( Network::Packets::FFXIVARR_PACKET_RAW& pPacket ); void sendPackets( Packets::PacketContainer* pPacket ); - void sendSinglePacket( Sapphire::Network::Packets::FFXIVPacketBasePtr pPacket ); + void sendSinglePacket( Network::Packets::FFXIVPacketBasePtr pPacket ); void injectPacket( const std::string& packetpath, Entity::Player& player ); diff --git a/src/world/ServerMgr.cpp b/src/world/ServerMgr.cpp index 1929c765..feffd356 100644 --- a/src/world/ServerMgr.cpp +++ b/src/world/ServerMgr.cpp @@ -66,7 +66,7 @@ size_t Sapphire::World::ServerMgr::getSessionCount() const bool Sapphire::World::ServerMgr::loadSettings( int32_t argc, char* argv[] ) { - auto pConfig = framework()->get< Sapphire::ConfigMgr >(); + auto pConfig = framework()->get< Common::ConfigMgr >(); Logger::info( "Loading config {0}", m_configName ); @@ -123,8 +123,8 @@ void Sapphire::World::ServerMgr::run( int32_t argc, char* argv[] ) printBanner(); - auto pConfig = std::make_shared< ConfigMgr >(); - framework()->set< ConfigMgr >( pConfig ); + auto pConfig = std::make_shared< Common::ConfigMgr >(); + framework()->set< Common::ConfigMgr >( pConfig ); if( !loadSettings( argc, argv ) ) { Logger::fatal( "Unable to load settings!" ); diff --git a/src/world/mainGameServer.cpp b/src/world/mainGameServer.cpp index 6e4c1ceb..2c77ea66 100644 --- a/src/world/mainGameServer.cpp +++ b/src/world/mainGameServer.cpp @@ -12,7 +12,7 @@ Common::Util::CrashHandler crashHandler; int main( int32_t argc, char* argv[] ) { - auto pFramework = Sapphire::make_Framework(); + auto pFramework = make_Framework(); auto pServer = std::make_shared< ServerMgr >( "world.ini", pFramework ); pFramework->set< ServerMgr >( pServer ); pServer->run( argc, argv );