Support only libcommuni >= 3.0.0
This commit is contained in:
parent
c4181a9c48
commit
c83fd4c4b1
5 changed files with 26 additions and 41 deletions
|
@ -346,7 +346,7 @@ if (PROTOBUF_FOUND)
|
|||
endif()
|
||||
|
||||
if(IRC_FOUND)
|
||||
ADD_DEFINITIONS(-DCOMMUNI_SHARED)
|
||||
ADD_DEFINITIONS(-DIRC_SHARED)
|
||||
message("IRC plugin : yes")
|
||||
include_directories(${QT_QTNETWORK_INCLUDE_DIR})
|
||||
include_directories(${IRC_INCLUDE_DIR})
|
||||
|
|
|
@ -23,9 +23,6 @@
|
|||
#include <iostream>
|
||||
#include <IrcCommand>
|
||||
#include <IrcMessage>
|
||||
#if COMMUNI_VERSION < 0x020000
|
||||
#include <IrcUtil>
|
||||
#endif
|
||||
#include "backports.h"
|
||||
|
||||
#include "ircnetworkplugin.h"
|
||||
|
@ -35,11 +32,11 @@
|
|||
|
||||
#include "transport/logging.h"
|
||||
|
||||
DEFINE_LOGGER(logger, "IRCSession");
|
||||
DEFINE_LOGGER(logger, "IRCConnection");
|
||||
|
||||
static bool sentList;
|
||||
|
||||
MyIrcSession::MyIrcSession(const std::string &user, IRCNetworkPlugin *np, const std::string &suffix, QObject* parent) : IrcSession(parent)
|
||||
MyIrcSession::MyIrcSession(const std::string &user, IRCNetworkPlugin *np, const std::string &suffix, QObject* parent) : IrcConnection(parent)
|
||||
{
|
||||
this->np = np;
|
||||
this->user = user;
|
||||
|
@ -137,7 +134,7 @@ bool MyIrcSession::correctNickname(std::string &nickname) {
|
|||
|
||||
void MyIrcSession::on_joined(IrcMessage *message) {
|
||||
IrcJoinMessage *m = (IrcJoinMessage *) message;
|
||||
std::string nickname = TO_UTF8(m->sender().name());
|
||||
std::string nickname = TO_UTF8(m->nick());
|
||||
bool op = correctNickname(nickname);
|
||||
getIRCBuddy(TO_UTF8(m->channel().toLower()), nickname).setOp(op);
|
||||
np->handleParticipantChanged(user, nickname, TO_UTF8(m->channel().toLower()) + suffix, op, pbnetwork::STATUS_ONLINE);
|
||||
|
@ -147,7 +144,7 @@ void MyIrcSession::on_joined(IrcMessage *message) {
|
|||
|
||||
void MyIrcSession::on_parted(IrcMessage *message) {
|
||||
IrcPartMessage *m = (IrcPartMessage *) message;
|
||||
std::string nickname = TO_UTF8(m->sender().name());
|
||||
std::string nickname = TO_UTF8(m->nick());
|
||||
bool op = correctNickname(nickname);
|
||||
removeIRCBuddy(TO_UTF8(m->channel().toLower()), nickname);
|
||||
LOG4CXX_INFO(logger, user << ": " << nickname << " parted " << TO_UTF8(m->channel().toLower()) + suffix);
|
||||
|
@ -156,7 +153,7 @@ void MyIrcSession::on_parted(IrcMessage *message) {
|
|||
|
||||
void MyIrcSession::on_quit(IrcMessage *message) {
|
||||
IrcQuitMessage *m = (IrcQuitMessage *) message;
|
||||
std::string nickname = TO_UTF8(m->sender().name());
|
||||
std::string nickname = TO_UTF8(m->nick());
|
||||
bool op = correctNickname(nickname);
|
||||
|
||||
for(AutoJoinMap::iterator it = m_autoJoin.begin(); it != m_autoJoin.end(); it++) {
|
||||
|
@ -171,7 +168,7 @@ void MyIrcSession::on_quit(IrcMessage *message) {
|
|||
|
||||
void MyIrcSession::on_nickChanged(IrcMessage *message) {
|
||||
IrcNickMessage *m = (IrcNickMessage *) message;
|
||||
std::string nickname = TO_UTF8(m->sender().name());
|
||||
std::string nickname = TO_UTF8(m->nick());
|
||||
correctNickname(nickname);
|
||||
|
||||
for(AutoJoinMap::iterator it = m_autoJoin.begin(); it != m_autoJoin.end(); it++) {
|
||||
|
@ -214,7 +211,7 @@ void MyIrcSession::on_modeChanged(IrcMessage *message) {
|
|||
void MyIrcSession::on_topicChanged(IrcMessage *message) {
|
||||
IrcTopicMessage *m = (IrcTopicMessage *) message;
|
||||
|
||||
std::string nickname = TO_UTF8(m->sender().name());
|
||||
std::string nickname = TO_UTF8(m->nick());
|
||||
correctNickname(nickname);
|
||||
|
||||
LOG4CXX_INFO(logger, user << ": " << nickname << " topic changed to " << TO_UTF8(m->topic()));
|
||||
|
@ -224,14 +221,14 @@ void MyIrcSession::on_topicChanged(IrcMessage *message) {
|
|||
void MyIrcSession::on_messageReceived(IrcMessage *message) {
|
||||
IrcPrivateMessage *m = (IrcPrivateMessage *) message;
|
||||
if (m->isRequest()) {
|
||||
QString request = m->message().split(" ", QString::SkipEmptyParts).value(0).toUpper();
|
||||
QString request = m->content().split(" ", QString::SkipEmptyParts).value(0).toUpper();
|
||||
if (request == "PING" || request == "TIME" || request == "VERSION") {
|
||||
LOG4CXX_INFO(logger, user << ": " << TO_UTF8(request) << " received and has been answered");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
QString msg = m->message();
|
||||
QString msg = m->content();
|
||||
if (m->isAction()) {
|
||||
msg = QString("/me ") + msg;
|
||||
}
|
||||
|
@ -249,12 +246,12 @@ void MyIrcSession::on_messageReceived(IrcMessage *message) {
|
|||
std::string target = TO_UTF8(m->target().toLower());
|
||||
LOG4CXX_INFO(logger, user << ": Message from " << target);
|
||||
if (target.find("#") == 0) {
|
||||
std::string nickname = TO_UTF8(m->sender().name());
|
||||
std::string nickname = TO_UTF8(m->nick());
|
||||
correctNickname(nickname);
|
||||
np->handleMessage(user, target + suffix, TO_UTF8(msg), nickname, TO_UTF8(html));
|
||||
}
|
||||
else {
|
||||
std::string nickname = TO_UTF8(m->sender().name());
|
||||
std::string nickname = TO_UTF8(m->nick());
|
||||
correctNickname(nickname);
|
||||
if (m_pms.find(nickname) != m_pms.end()) {
|
||||
if (hasIRCBuddy(m_pms[nickname], nickname)) {
|
||||
|
@ -393,19 +390,19 @@ void MyIrcSession::awayTimeout() {
|
|||
|
||||
void MyIrcSession::on_noticeMessageReceived(IrcMessage *message) {
|
||||
IrcNoticeMessage *m = (IrcNoticeMessage *) message;
|
||||
LOG4CXX_INFO(logger, user << ": NOTICE " << TO_UTF8(m->message()));
|
||||
LOG4CXX_INFO(logger, user << ": NOTICE " << TO_UTF8(m->content()));
|
||||
|
||||
QString msg = m->message();
|
||||
QString msg = m->content();
|
||||
CommuniBackport::toPlainText(msg);
|
||||
|
||||
std::string target = TO_UTF8(m->target().toLower());
|
||||
if (target.find("#") == 0) {
|
||||
std::string nickname = TO_UTF8(m->sender().name());
|
||||
std::string nickname = TO_UTF8(m->nick());
|
||||
correctNickname(nickname);
|
||||
np->handleMessage(user, target + suffix, TO_UTF8(msg), nickname);
|
||||
}
|
||||
else {
|
||||
std::string nickname = TO_UTF8(m->sender().name());
|
||||
std::string nickname = TO_UTF8(m->nick());
|
||||
correctNickname(nickname);
|
||||
if (nickname.find(".") != std::string::npos) {
|
||||
return;
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#define SESSION_H
|
||||
|
||||
#ifndef Q_MOC_RUN
|
||||
#include <IrcSession>
|
||||
#include <IrcConnection>
|
||||
#include <transport/networkplugin.h>
|
||||
#include "Swiften/Swiften.h"
|
||||
#include <boost/smart_ptr/make_shared.hpp>
|
||||
|
@ -33,7 +33,7 @@ using namespace Transport;
|
|||
|
||||
class IRCNetworkPlugin;
|
||||
|
||||
class MyIrcSession : public IrcSession
|
||||
class MyIrcSession : public IrcConnection
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
find_package(Qt4)
|
||||
include( ${QT_USE_FILE} )
|
||||
|
||||
FIND_LIBRARY(IRC_LIBRARY NAMES Communi PATHS ${QT_LIBRARY_DIR})
|
||||
FIND_PATH(IRC_INCLUDE_DIR NAMES "ircglobal.h" PATHS ${QT_INCLUDE_DIR} PATH_SUFFIXES Communi)
|
||||
FIND_LIBRARY(IRC_LIBRARY NAMES IrcCore PATHS ${QT_LIBRARY_DIR})
|
||||
FIND_PATH(IRC_INCLUDE_DIR NAMES "IrcCore/ircglobal.h" PATHS ${QT_INCLUDE_DIR} PATH_SUFFIXES Communi)
|
||||
|
||||
# message( STATUS ${IRC_LIBRARY})
|
||||
if( IRC_LIBRARY AND IRC_INCLUDE_DIR )
|
||||
message( STATUS "Found libCommuni ${IRC_LIBRARY}, ${IRC_INCLUDE_DIR}")
|
||||
set( IRC_FOUND 1 )
|
||||
set(IRC_INCLUDE_DIR ${IRC_INCLUDE_DIR}/IrcCore ${IRC_INCLUDE_DIR}/IrcUtil ${IRC_INCLUDE_DIR}/IrcModel)
|
||||
message( STATUS "Found libCommuni ${IRC_LIBRARY}, ${IRC_INCLUDE_DIR}")
|
||||
set( IRC_FOUND 1 )
|
||||
else()
|
||||
message( STATUS "Could NOT find libCommuni" )
|
||||
message( STATUS "Could NOT find libCommuni" )
|
||||
endif()
|
||||
|
|
|
@ -25,7 +25,7 @@ BuildRequires: libidn-devel
|
|||
BuildRequires: expat-devel
|
||||
BuildRequires: avahi-devel
|
||||
BuildRequires: log4cxx-devel
|
||||
#BuildRequires: swiften-devel
|
||||
BuildRequires: swiften-devel
|
||||
BuildRequires: libcommuni-devel
|
||||
Requires: libtransport%{?_isa} = %{version}-%{release}
|
||||
|
||||
|
@ -58,7 +58,7 @@ exit 0
|
|||
|
||||
%files
|
||||
%defattr(-, root, root,-)
|
||||
%doc README
|
||||
%doc README.md
|
||||
%{_bindir}/spectrum2
|
||||
%{_bindir}/spectrum2_manager
|
||||
/etc/spectrum2/*
|
||||
|
@ -135,19 +135,6 @@ Spectrum2 Swiften backend
|
|||
%defattr(-, root, root,-)
|
||||
/usr/bin/spectrum2_swiften_backend
|
||||
|
||||
%package libyahoo2-backend
|
||||
Summary: Libtransport
|
||||
Group: Development/Libraries
|
||||
Requires: boost
|
||||
Requires: libtransport%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description libyahoo2-backend
|
||||
Spectrum2 libyahoo2 backend
|
||||
|
||||
%files libyahoo2-backend
|
||||
%defattr(-, root, root,-)
|
||||
/usr/bin/spectrum2_libyahoo2_backend
|
||||
|
||||
%package twitter-backend
|
||||
Summary: Libtransport
|
||||
Group: Development/Libraries
|
||||
|
|
Loading…
Add table
Reference in a new issue