2017-08-08 13:53:47 +02:00
|
|
|
#ifndef _FORWARDS_H
|
|
|
|
#define _FORWARDS_H
|
|
|
|
|
2018-10-24 17:58:57 +02:00
|
|
|
#include <memory>
|
2017-08-08 13:53:47 +02:00
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
#define TYPE_FORWARD( x ) \
|
|
|
|
class x; \
|
2018-10-24 17:58:57 +02:00
|
|
|
typedef std::shared_ptr< x > x ## Ptr; \
|
2018-02-10 01:21:31 +01:00
|
|
|
template< typename...Args > \
|
|
|
|
x ## Ptr make_ ## x( Args &&...args ) { \
|
2018-10-24 17:58:57 +02:00
|
|
|
return std::make_shared< x >( std::forward< Args >( args ) ... ); }\
|
2018-02-10 01:21:31 +01:00
|
|
|
typedef std::vector< x > x ## PtrList;
|
2017-08-08 13:53:47 +02:00
|
|
|
|
2018-08-29 21:40:59 +02:00
|
|
|
namespace Core {
|
|
|
|
TYPE_FORWARD( LobbySession );
|
|
|
|
|
|
|
|
namespace Network {
|
|
|
|
TYPE_FORWARD( Hive );
|
|
|
|
|
|
|
|
TYPE_FORWARD( Acceptor );
|
|
|
|
|
|
|
|
TYPE_FORWARD( Connection );
|
|
|
|
|
|
|
|
TYPE_FORWARD( GameConnection );
|
|
|
|
|
|
|
|
namespace Packets {
|
|
|
|
TYPE_FORWARD( GamePacket );
|
|
|
|
|
|
|
|
TYPE_FORWARD( FFXIVPacketBase );
|
|
|
|
}
|
|
|
|
}
|
2017-08-08 13:53:47 +02:00
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2018-10-24 17:58:57 +02:00
|
|
|
#endif
|