#ifndef _FORWARDS_H #define _FORWARDS_H #include namespace Core { class Cell; class Zone; class Item; class ItemContainer; class Inventory; class Session; class XMLConfig; class ZonePosition; typedef boost::shared_ptr ZonePtr; typedef boost::shared_ptr ItemPtr; typedef boost::shared_ptr ItemContainerPtr; typedef boost::shared_ptr InventoryPtr; typedef boost::shared_ptr SessionPtr; typedef boost::shared_ptr XMLConfigPtr; typedef boost::shared_ptr ZonePositionPtr; namespace StatusEffect { class StatusEffect; class StatusEffectContainer; typedef boost::shared_ptr StatusEffectPtr; typedef boost::shared_ptr StatusEffectContainerPtr; } namespace Entity { class Chara; class Player; class BattleNpc; typedef boost::shared_ptr ActorPtr; typedef boost::shared_ptr PlayerPtr; typedef boost::shared_ptr BattleNpcPtr; } namespace Event { class EventHandler; typedef boost::shared_ptr EventPtr; } namespace Action { class Action; class ActionTeleport; class EventAction; typedef boost::shared_ptr ActionPtr; typedef boost::shared_ptr ActionTeleportPtr; typedef boost::shared_ptr EventActionPtr; } namespace Network { class Hive; class Acceptor; class Connection; class WorldConnection; class SessionConnection; class ZoneConnection; typedef boost::shared_ptr HivePtr; typedef boost::shared_ptr AcceptorPtr; typedef boost::shared_ptr ConnectionPtr; typedef boost::shared_ptr WorldConnectionPtr; typedef boost::shared_ptr ZoneConnectionPtr; typedef boost::shared_ptr SessionConnectionPtr; namespace Packets { class GamePacket; typedef boost::shared_ptr GamePacketPtr; } } namespace Scripting { typedef std::function< void( Entity::Player&, uint32_t, uint16_t, uint16_t, uint16_t, uint16_t ) > EventReturnCallback; } typedef std::function< void( Entity::Player&, uint32_t, uint64_t ) > ActionCallback; } #endif