|
|
|
@@ -166,87 +166,6 @@ private:
|
|
|
|
|
std::map<unsigned, std::pair<std::pair<ChatUnicodeString, ChatUnicodeString>, int> > trackingRequestGetAnyAvatarForDestroy;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
class ChatInterface : public ChatAPI
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
ChatInterface (const std::string & strGameCode,
|
|
|
|
|
const std::string & strGatewayServerIP,
|
|
|
|
|
const unsigned short sGatewayServerPort,
|
|
|
|
|
const std::string & strBackupGatewayServerIP,
|
|
|
|
|
const unsigned short sBackupGatewayServerPort
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
virtual ~ChatInterface (); //lint !e1510 base class 'ChatAPI' has no destructor // jrandall - this is beyond my control
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void checkRoomExpirations ();
|
|
|
|
|
void ConnectPlayer (const unsigned int suid, const std::string & characterName, const NetworkId & networkId);
|
|
|
|
|
void deferChatMessageFor (const NetworkId & id, const Archive::ByteStream & bs);
|
|
|
|
|
void destroyRoomByName (const std::string & roomName);
|
|
|
|
|
|
|
|
|
|
const std::hash_map<std::string, ChatServerRoomOwner> & getRoomList () const;
|
|
|
|
|
const ChatServerAvatarOwner *findAvatar(const ChatAvatarId & avatarId);
|
|
|
|
|
|
|
|
|
|
void leaveRoom (const ChatAvatarId & avatarId, const std::string & roomName);
|
|
|
|
|
|
|
|
|
|
//--- ChatAPI virtual overrides
|
|
|
|
|
virtual void OnConnectAvatar (const std::string & track, const unsigned int resultCode, const ChatAvatar & avatar);
|
|
|
|
|
virtual void OnAddFriend (const unsigned int sequence, const std::string & track, const unsigned int nResultCode, const ChatAvatar & requestingAvatar, const ChatAvatar & friendAvatar);
|
|
|
|
|
virtual void OnRemoveFriend (const unsigned int sequence, const std::string & track, const unsigned int nResultCode, const ChatAvatar & requestingAvatar, const ChatAvatar & friendAvatar);
|
|
|
|
|
virtual void OnAddIgnore (const unsigned int sequence, const std::string & track, const unsigned int nResultCode, const ChatAvatar & requestingAvatar, const ChatAvatar & ignoreAvatar);
|
|
|
|
|
virtual void OnRemoveIgnore (const unsigned int sequence, const std::string & track, const unsigned int nResultCode, const ChatAvatar & requestingAvatar, const ChatAvatar & ignoreAvatar);
|
|
|
|
|
virtual void OnAddRoomModerator (const unsigned int nSequenceID, const std::string & track, const unsigned int nResultCode, const ChatRoom & room, const unsigned int nRequestingAvatarUID, const ChatAvatar & moderator);
|
|
|
|
|
virtual void OnCreateRoom (const unsigned int sequence, const std::string & track, const unsigned int nResultCode, const ChatRoom & room);
|
|
|
|
|
virtual void OnDestroyRoom (const unsigned int nSequenceID, const std::string & track, const unsigned int nResultCode, const ChatRoom & room, const std::string & strCharacterName, const std::string & strGameServerName, const std::string & strGameCode);
|
|
|
|
|
virtual void OnDisconnectAvatar (const std::string & track, const unsigned int nResultCode, const ChatAvatar & toAvatar);
|
|
|
|
|
virtual void OnDisconnectAvatarNotify (const ChatAvatar & toAvatar);
|
|
|
|
|
virtual void OnEnterRoom (const unsigned int nSequenceID, const std::string & track, const unsigned int nResultCode, const ChatRoom & room, const ChatAvatar & avatar);
|
|
|
|
|
virtual void OnLeaveRoom (const unsigned int nSequenceID, const std::string & track, const unsigned int nResultCode, const ChatRoom & room, const ChatAvatar & avatar);
|
|
|
|
|
virtual void OnReceiveInstantMessage (const ChatAvatar & toAvatar, const ChatAvatar & fromAvatar, const Unicode::String & ustrMessage, const Unicode::String & oob);
|
|
|
|
|
virtual void OnReceivePersistentMessage (const unsigned int nSequenceID, const std::string & track, const unsigned int nResultCode, const ChatPersistentMessage & message);
|
|
|
|
|
virtual void OnReceivePersistentMessageHeader (const ChatPersistentMessageHeader & header);
|
|
|
|
|
virtual void OnReceivePersistentMessageHeaders (const unsigned int nSequenceID, const std::string & track, const unsigned int nResultCode, const ChatAvatar & toAvatar, const std::vector<ChatPersistentMessageHeader> & headers);
|
|
|
|
|
virtual void OnReceiveRoomMessage (const unsigned int nSequenceID, const ChatRoom & room, const std::string & strFromCharacterName, const std::string & strFromGameServerName, const std::string & strFromGameCode, const Unicode::String & ustrMessage, const Unicode::String & outOfBand, unsigned messageID);
|
|
|
|
|
virtual void OnConnect (const unsigned int resultCode);
|
|
|
|
|
virtual void OnReceiveRooms (const std::string & track, const unsigned int nResultCode, const std::vector<ChatRoom*> & rooms);
|
|
|
|
|
virtual void OnRemoveRoomModerator (const unsigned int nSequenceID, const std::string & track, const unsigned int nResultCode, const ChatRoom & room, const unsigned int nRequestingAvatarUID, const ChatAvatar & moderator);
|
|
|
|
|
virtual void OnSendInstantMessage (const unsigned int nSequenceID, const std::string & track, const unsigned int nResultCode, const ChatAvatar & sendingAvatar);
|
|
|
|
|
virtual void OnSendPersistentMessage (const unsigned int nSequenceID, const std::string & track, const unsigned int nResultCode, const ChatAvatar& sendingAvatar);
|
|
|
|
|
virtual void OnSendRoomMessage (const unsigned int sequence, const std::string & track, const unsigned int resultCode);
|
|
|
|
|
virtual void OnUpdateFriendStatus (const ChatAvatar & toAvatar, const ChatAvatar & fromAvatar, const bool bIsConnected);
|
|
|
|
|
virtual void OnReceiveRoomInvitation (const std::string & strRoomName, const ChatAvatar & invitorAvatar, const ChatAvatar & inviteeAvatar);
|
|
|
|
|
virtual void OnSendRoomInvitation (const unsigned int sequence, const std::string & track, const unsigned int resultCode, const ChatRoom & room, const bool isOnline, const ChatAvatar & invitor, const ChatAvatar & invitee);
|
|
|
|
|
|
|
|
|
|
const ChatServerRoomOwner * getRoomByName (const std::string & roomName) const;
|
|
|
|
|
|
|
|
|
|
void disconnectPlayer (const ChatAvatarId & avatarId);
|
|
|
|
|
void queryRoom (const NetworkId & id, ConnectionServerConnection * connection, const unsigned int sequenceId, const std::string & roomName);
|
|
|
|
|
void queryRoom (const NetworkId & id, ConnectionServerConnection * connection, const unsigned int sequenceId, const unsigned int roomId);
|
|
|
|
|
void requestRoomList (const NetworkId & id, ConnectionServerConnection * connection);
|
|
|
|
|
void sendMessageToAllAvatars (const GameNetworkMessage & message);
|
|
|
|
|
bool sendMessageToPendingAvatar(const ChatAvatarId &id, const GameNetworkMessage &message);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
void sendMessageToAvatar (const ChatAvatar & avatar, const GameNetworkMessage & message);
|
|
|
|
|
void sendMessageToAvatar (const ChatAvatarId & avatar, const GameNetworkMessage & message);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
ChatInterface & operator = (const ChatInterface & rhs);
|
|
|
|
|
ChatInterface(const ChatInterface & source);
|
|
|
|
|
std::hash_map<std::string, NetworkId> pendingAvatars;
|
|
|
|
|
std::hash_map<NetworkId, std::vector<Archive::ByteStream>, NetworkId::Hash > deferredChatMessages;
|
|
|
|
|
std::hash_map<std::string, ChatServerRoomOwner> roomList;
|
|
|
|
|
std::map<ChatAvatarId, ChatServerAvatarOwner *> avatarMap;
|
|
|
|
|
time_t lastRoomCheck;
|
|
|
|
|
|
|
|
|
|
}; //lint !e1712 default constructor not defined for class
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
std::string toLower(const std::string & source);
|
|
|
|
|
std::string toUpper(const std::string & source);
|
|
|
|
|
void makeRoomData(const ChatRoom & room, ChatRoomData & roomData);
|
|
|
|
|