18 #ifndef XXXMPPCLIENT_H 19 #define XXXMPPCLIENT_H 69 XmppClient(
const ScriptInterface* scriptInterface,
const std::string& sUsername,
const std::string& sPassword,
const std::string& sRoom,
const std::string& sNick,
const int historyRequestSize = 0,
const bool regOpt =
false);
73 static void Trace(JSTracer *trc,
void *data)
75 static_cast<XmppClient*
>(data)->TraceMember(trc);
78 void TraceMember(JSTracer *trc);
85 void SendIqGetBoardList();
86 void SendIqGetProfile(
const std::string& player);
87 void SendIqGameReport(
const ScriptRequest& rq, JS::HandleValue data);
88 void SendIqRegisterGame(
const ScriptRequest& rq, JS::HandleValue data);
89 void SendIqGetConnectionData(
const std::string& jid,
const std::string& password,
const std::string& clientSalt,
bool localIP);
90 void SendIqUnregisterGame();
91 void SendIqChangeStateGame(
const std::string& nbp,
const std::string& players);
92 void SendIqLobbyAuth(
const std::string& to,
const std::string& token);
93 void SetNick(
const std::string& nick);
94 std::string GetNick()
const;
95 std::string GetJID()
const;
96 void kick(
const std::string& nick,
const std::string& reason);
97 void ban(
const std::string& nick,
const std::string& reason);
98 void SetPresence(
const std::string& presence);
99 const char* GetPresence(
const std::string& nickname);
100 const char* GetRole(
const std::string& nickname);
101 std::wstring GetRating(
const std::string& nickname);
102 const std::wstring& GetSubject();
109 void SendStunEndpointToHost(
const std::string& ip,
u16 port,
const std::string& hostJID);
114 static const char* GetPresenceString(
const gloox::Presence::PresenceType presenceType);
115 static const char* GetRoleString(
const gloox::MUCRoomRole role);
116 static std::string StanzaErrorToString(gloox::StanzaError err);
117 static std::string RegistrationResultToString(gloox::RegistrationResult res);
118 static std::string ConnectionErrorToString(gloox::ConnectionError err);
119 static std::string CertificateErrorToString(gloox::CertStatus status);
136 virtual void handleLog(gloox::LogLevel level, gloox::LogArea area,
const std::string& message);
139 virtual void onConnect();
140 virtual void onDisconnect(gloox::ConnectionError e);
149 virtual void handleRegistrationResult(
const glooxwrapper::JID& , gloox::RegistrationResult result);
151 virtual void handleDataForm(
const glooxwrapper::JID& ,
const glooxwrapper::DataForm& );
164 bool GuiPollHasPlayerListUpdate();
165 void SendMUCMessage(
const std::string& message);
168 template<
typename... Args>
169 void CreateGUIMessage(
170 const std::string& type,
171 const std::string& level,
172 const std::time_t time,
173 Args
const&... args);
178 : m_Presence(presence), m_Role(role), m_Rating(rating)
185 using PlayerMap = std::map<glooxwrapper::string, SPlayer>;
207 #endif // XMPPCLIENT_H #define NONCOPYABLE(className)
Indicates that a class is noncopyable (usually due to const or reference members, or because the clas...
Definition: code_annotation.h:227
glooxwrapper::SessionManager * m_sessionManager
Definition: XmppClient.h:47
Definition: glooxwrapper.h:376
bool m_initialLoadComplete
Definition: XmppClient.h:64
static void Trace(JSTracer *trc, void *data)
Definition: XmppClient.h:73
std::string m_username
Definition: XmppClient.h:50
gloox::Presence::PresenceType m_Presence
Definition: XmppClient.h:181
bool m_isConnected
Definition: XmppClient.h:65
gloox::CertStatus m_certStatus
Definition: XmppClient.h:63
uint16_t u16
Definition: types.h:38
std::string m_connectionDataIqId
Definition: XmppClient.h:60
bool(void *pContext, const CFsmEvent *pEvent) Action
Definition: FSM.h:34
Definition: glooxwrapper.h:327
JS::Value GuiPollNewMessages(const ScriptInterface &scriptInterface)
Definition: JSInterface_Lobby.cpp:133
Definition: glooxwrapper.h:658
Definition: glooxwrapper.h:531
Definition: glooxwrapper.h:492
Definition: glooxwrapper.h:555
Definition: IXmppClient.h:25
Definition: glooxwrapper.h:512
Definition: glooxwrapper.h:563
std::string m_server
Definition: XmppClient.h:52
glooxwrapper::Registration * m_registration
Definition: XmppClient.h:46
glooxwrapper::Client * m_client
Definition: XmppClient.h:44
std::string m_echelonId
Definition: XmppClient.h:56
Config::Value_type Value
Definition: json_spirit_value.h:182
Definition: glooxwrapper.h:679
Definition: glooxwrapper.h:688
Definition: glooxwrapper.h:359
std::string m_connectionDataJid
Definition: XmppClient.h:59
Definition: glooxwrapper.h:403
std::string m_password
Definition: XmppClient.h:51
Definition: glooxwrapper.h:366
const ScriptInterface * m_ScriptInterface
ScriptInterface to root the values.
Definition: XmppClient.h:198
std::vector< const glooxwrapper::Tag * > m_BoardList
List of rankings.
Definition: XmppClient.h:194
Definition: glooxwrapper.h:119
std::vector< JS::Heap< JS::Value > > m_HistoricGuiMessages
Cache of all GUI messages received since the login.
Definition: XmppClient.h:202
std::vector< const glooxwrapper::Tag * > m_GameList
List of games.
Definition: XmppClient.h:192
Definition: XmppClient.h:38
std::string m_xpartamuppId
Definition: XmppClient.h:55
std::map< glooxwrapper::string, SPlayer > PlayerMap
Definition: XmppClient.h:185
std::string m_nick
Definition: XmppClient.h:54
Definition: glooxwrapper.h:293
Definition: glooxwrapper.h:651
bool m_PlayerMapUpdate
Whether or not the playermap has changed since the last time the GUI checked.
Definition: XmppClient.h:190
PlayerMap m_PlayerMap
Map of players.
Definition: XmppClient.h:188
gloox::MUCRoomRole m_Role
Definition: XmppClient.h:182
std::wstring m_Subject
Current room subject/topic.
Definition: XmppClient.h:204
std::vector< const glooxwrapper::Tag * > m_Profile
Profile data.
Definition: XmppClient.h:196
Definition: XmppClient.h:176
Definition: glooxwrapper.h:351
std::deque< JS::Heap< JS::Value > > m_GuiMessageQueue
Queue of messages for the GUI.
Definition: XmppClient.h:200
virtual void handleIqID(const glooxwrapper::IQ &, int)
Definition: XmppClient.h:145
Abstraction around a SpiderMonkey JS::Realm.
Definition: ScriptInterface.h:71
Definition: glooxwrapper.h:462
Definition: glooxwrapper.h:342
Definition: glooxwrapper.cpp:45
glooxwrapper::string m_Rating
Definition: XmppClient.h:183
Spidermonkey maintains some 'local' state via the JSContext* object.
Definition: ScriptRequest.h:59
glooxwrapper::MUCRoom * m_mucRoom
Definition: XmppClient.h:45
std::string m_room
Definition: XmppClient.h:53
SPlayer(const gloox::Presence::PresenceType presence, const gloox::MUCRoomRole role, const glooxwrapper::string &rating)
Definition: XmppClient.h:177