fix HAVE_QXMPP wrappings in XmppClient

This commit is contained in:
Stephen Birarda 2014-07-24 16:16:39 -07:00
parent c3409c782d
commit bcdfc9dd78
2 changed files with 18 additions and 2 deletions

View file

@ -18,6 +18,7 @@
const QString DEFAULT_XMPP_SERVER = "chat.highfidelity.io"; const QString DEFAULT_XMPP_SERVER = "chat.highfidelity.io";
const QString DEFAULT_CHAT_ROOM = "public@public-chat.highfidelity.io"; const QString DEFAULT_CHAT_ROOM = "public@public-chat.highfidelity.io";
#ifdef HAVE_QXMPP
XmppClient::XmppClient() : XmppClient::XmppClient() :
_xmppClient(), _xmppClient(),
_xmppMUCManager() _xmppMUCManager()
@ -26,6 +27,11 @@ XmppClient::XmppClient() :
connect(&accountManager, SIGNAL(profileChanged()), this, SLOT(connectToServer())); connect(&accountManager, SIGNAL(profileChanged()), this, SLOT(connectToServer()));
connect(&accountManager, SIGNAL(logoutComplete()), this, SLOT(disconnectFromServer())); connect(&accountManager, SIGNAL(logoutComplete()), this, SLOT(disconnectFromServer()));
} }
#else
XmppClient::XmppClient() {
}
#endif
XmppClient& XmppClient::getInstance() { XmppClient& XmppClient::getInstance() {
static XmppClient sharedInstance; static XmppClient sharedInstance;
@ -33,18 +39,23 @@ XmppClient& XmppClient::getInstance() {
} }
void XmppClient::xmppConnected() { void XmppClient::xmppConnected() {
#ifdef HAVE_QXMPP
_publicChatRoom = _xmppMUCManager.addRoom(DEFAULT_CHAT_ROOM); _publicChatRoom = _xmppMUCManager.addRoom(DEFAULT_CHAT_ROOM);
_publicChatRoom->setNickName(AccountManager::getInstance().getAccountInfo().getUsername()); _publicChatRoom->setNickName(AccountManager::getInstance().getAccountInfo().getUsername());
_publicChatRoom->join(); _publicChatRoom->join();
emit joinedPublicChatRoom(); emit joinedPublicChatRoom();
#endif
} }
void XmppClient::xmppError(QXmppClient::Error error) { void XmppClient::xmppError(QXmppClient::Error error) {
#ifdef HAVE_QXMPP
qDebug() << "Error connnecting to XMPP for user " qDebug() << "Error connnecting to XMPP for user "
<< AccountManager::getInstance().getAccountInfo().getUsername() << ": " << error; << AccountManager::getInstance().getAccountInfo().getUsername() << ": " << error;
#endif
} }
void XmppClient::connectToServer() { void XmppClient::connectToServer() {
#ifdef HAVE_QXMPP
disconnectFromServer(); disconnectFromServer();
if (_xmppClient.addExtension(&_xmppMUCManager)) { if (_xmppClient.addExtension(&_xmppMUCManager)) {
@ -55,12 +66,15 @@ void XmppClient::connectToServer() {
QString user = accountManager.getAccountInfo().getUsername(); QString user = accountManager.getAccountInfo().getUsername();
const QString& password = accountManager.getAccountInfo().getXMPPPassword(); const QString& password = accountManager.getAccountInfo().getXMPPPassword();
_xmppClient.connectToServer(user + "@" + DEFAULT_XMPP_SERVER, password); _xmppClient.connectToServer(user + "@" + DEFAULT_XMPP_SERVER, password);
#endif
} }
void XmppClient::disconnectFromServer() { void XmppClient::disconnectFromServer() {
#ifdef HAVE_QXMPP
if (_xmppClient.isConnected()) { if (_xmppClient.isConnected()) {
_xmppClient.disconnectFromServer(); _xmppClient.disconnectFromServer();
} }
#endif
} }
XmppClient::XmppClient(const XmppClient& other) { XmppClient::XmppClient(const XmppClient& other) {

View file

@ -22,13 +22,14 @@
/// Generalized threaded processor for handling received inbound packets. /// Generalized threaded processor for handling received inbound packets.
class XmppClient : public QObject { class XmppClient : public QObject {
Q_OBJECT Q_OBJECT
#ifdef HAVE_QXMPP
public: public:
static XmppClient& getInstance(); static XmppClient& getInstance();
#ifdef HAVE_QXMPP
QXmppClient& getXMPPClient() { return _xmppClient; } QXmppClient& getXMPPClient() { return _xmppClient; }
const QXmppMucRoom* getPublicChatRoom() const { return _publicChatRoom; } const QXmppMucRoom* getPublicChatRoom() const { return _publicChatRoom; }
#endif
signals: signals:
void joinedPublicChatRoom(); void joinedPublicChatRoom();
@ -44,6 +45,7 @@ private:
XmppClient(XmppClient const& other); // not implemented XmppClient(XmppClient const& other); // not implemented
void operator=(XmppClient const& other); // not implemented void operator=(XmppClient const& other); // not implemented
#ifdef HAVE_QXMPP
QXmppClient _xmppClient; QXmppClient _xmppClient;
QXmppMucManager _xmppMUCManager; QXmppMucManager _xmppMUCManager;
QXmppMucRoom* _publicChatRoom; QXmppMucRoom* _publicChatRoom;