forked from qt-creator/qt-creator
zeroconf: add version to avahi lib
Change-Id: Iedb59b74b1f9950abb0ca1d5adaaa594a465c0fd Reviewed-by: Niels Weber <niels.2.weber@nokia.com> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
This commit is contained in:
@@ -33,6 +33,7 @@
|
||||
#include "servicebrowser.h"
|
||||
#include "servicebrowser_p.h"
|
||||
|
||||
#include <QtGlobal>
|
||||
#include <QDebug>
|
||||
#include <QLibrary>
|
||||
#include <QString>
|
||||
@@ -126,9 +127,10 @@ private:
|
||||
QLibrary nativeLib;
|
||||
public:
|
||||
|
||||
AvahiZConfLib(QString libName = QLatin1String("avahi"),
|
||||
AvahiZConfLib(QString libName = QLatin1String("avahi-client"),
|
||||
QString version = QLatin1String("3"),
|
||||
ZConfLib::Ptr fallBack = ZConfLib::Ptr(0)) :
|
||||
ZConfLib(fallBack), nativeLib(libName)
|
||||
ZConfLib(fallBack), nativeLib(libName, version)
|
||||
{
|
||||
#ifndef ZCONF_AVAHI_STATIC_LINKING
|
||||
// dynamic linking
|
||||
@@ -370,8 +372,10 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
ZConfLib::Ptr ZConfLib::createAvahiLib(const QString &libName, ZConfLib::Ptr fallback) {
|
||||
return ZConfLib::Ptr(new AvahiZConfLib(libName, fallback));
|
||||
ZConfLib::Ptr ZConfLib::createAvahiLib(const QString &libName, const QString &version,
|
||||
ZConfLib::Ptr fallback)
|
||||
{
|
||||
return ZConfLib::Ptr(new AvahiZConfLib(libName, version, fallback));
|
||||
}
|
||||
|
||||
extern "C" void cAvahiResolveReply(
|
||||
@@ -557,7 +561,9 @@ extern "C" int cAvahiPollFunction(struct pollfd *ufds, unsigned int nfds, int ti
|
||||
namespace ZeroConf {
|
||||
namespace Internal {
|
||||
|
||||
ZConfLib::Ptr ZConfLib::createAvahiLib(const QString &/*extraPaths*/, ZConfLib::Ptr fallback) {
|
||||
ZConfLib::Ptr ZConfLib::createAvahiLib(const QString &/*lib*/, const QString &version,
|
||||
ZConfLib::Ptr fallback)
|
||||
{
|
||||
return fallback;
|
||||
}
|
||||
|
||||
|
||||
@@ -132,8 +132,8 @@ class ZeroConfLib
|
||||
public:
|
||||
ZeroConfLib();
|
||||
ZConfLib::Ptr defaultLib();
|
||||
void setDefaultLib(LibUsage usage, const QString &avahiLibName, const QString &dnsSdLibName,
|
||||
const QString &dnsSdDaemonPath);
|
||||
void setDefaultLib(LibUsage usage, const QString &avahiLibName, const QString &avahiVersion,
|
||||
const QString &dnsSdLibName, const QString &dnsSdDaemonPath);
|
||||
|
||||
private:
|
||||
static const char *defaultmDnsSdLibName;
|
||||
@@ -153,7 +153,7 @@ Q_GLOBAL_STATIC(ZeroConfLib, zeroConfLibInstance)
|
||||
#endif
|
||||
|
||||
ZeroConfLib::ZeroConfLib(): m_lock(QMutex::Recursive),
|
||||
m_defaultLib(ZConfLib::createAvahiLib(QLatin1String("avahi-client"),
|
||||
m_defaultLib(ZConfLib::createAvahiLib(QLatin1String("avahi-client"),QLatin1String("3"),
|
||||
ZConfLib::createDnsSdLib(QLatin1String(defaultmDnsSdLibName),
|
||||
ZConfLib::createEmbeddedLib(QLatin1String(defaultmDNSDaemonName)))))
|
||||
{
|
||||
@@ -169,7 +169,8 @@ ZConfLib::Ptr ZeroConfLib::defaultLib(){
|
||||
}
|
||||
|
||||
void ZeroConfLib::setDefaultLib(LibUsage usage, const QString &avahiLibName,
|
||||
const QString &dnsSdLibName, const QString &dnsSdDaemonPath){
|
||||
const QString &avahiVersion, const QString &dnsSdLibName,
|
||||
const QString &dnsSdDaemonPath){
|
||||
QMutexLocker l(&m_lock);
|
||||
switch (usage){
|
||||
case (UseDnsSdOnly):
|
||||
@@ -179,15 +180,16 @@ void ZeroConfLib::setDefaultLib(LibUsage usage, const QString &avahiLibName,
|
||||
m_defaultLib = ZConfLib::createEmbeddedLib(dnsSdDaemonPath);
|
||||
break;
|
||||
case (UseAvahiOnly):
|
||||
m_defaultLib = ZConfLib::createAvahiLib(avahiLibName);
|
||||
m_defaultLib = ZConfLib::createAvahiLib(avahiLibName, avahiVersion);
|
||||
break;
|
||||
case (UseAvahiOrDnsSd):
|
||||
m_defaultLib = ZConfLib::createAvahiLib(avahiLibName, ZConfLib::createDnsSdLib(dnsSdLibName));
|
||||
m_defaultLib = ZConfLib::createAvahiLib(avahiLibName, avahiVersion,
|
||||
ZConfLib::createDnsSdLib(dnsSdLibName));
|
||||
break;
|
||||
case (UseAvahiOrDnsSdOrEmbedded):
|
||||
m_defaultLib = ZConfLib::createAvahiLib(
|
||||
avahiLibName, ZConfLib::createDnsSdLib(dnsSdLibName,
|
||||
ZConfLib::createEmbeddedLib(dnsSdDaemonPath)));
|
||||
m_defaultLib = ZConfLib::createAvahiLib(avahiLibName, avahiVersion,
|
||||
ZConfLib::createDnsSdLib(dnsSdLibName,
|
||||
ZConfLib::createEmbeddedLib(dnsSdDaemonPath)));
|
||||
break;
|
||||
default:
|
||||
qDebug() << "invalid usage " << usage;
|
||||
@@ -583,10 +585,10 @@ void ServiceBrowser::autoRefresh()
|
||||
|
||||
\threadsafe
|
||||
*/
|
||||
void setDefaultZConfLib(LibUsage usage, const QString &avahiLibName, const QString &dnsSdLibName,
|
||||
const QString &dnsSdDaemonPath)
|
||||
void setDefaultZConfLib(LibUsage usage, const QString &avahiLibName, const QString &version,
|
||||
const QString &dnsSdLibName,const QString &dnsSdDaemonPath)
|
||||
{
|
||||
zeroConfLibInstance()->setDefaultLib(usage, avahiLibName, dnsSdLibName, dnsSdDaemonPath);
|
||||
zeroConfLibInstance()->setDefaultLib(usage, avahiLibName, version, dnsSdLibName, dnsSdDaemonPath);
|
||||
}
|
||||
|
||||
namespace Internal {
|
||||
@@ -1786,6 +1788,10 @@ void MainConnection::createConnection()
|
||||
abortLib();
|
||||
}
|
||||
}
|
||||
if (status() < Stopping)
|
||||
appendError(ErrorMessage::NoteLevel,
|
||||
tr("MainConncetion could sucessfully create a connection using lib %1")
|
||||
.arg(lib->name()));
|
||||
}
|
||||
|
||||
ZConfLib::RunLoopStatus MainConnection::handleEvent()
|
||||
|
||||
@@ -123,7 +123,7 @@ public:
|
||||
|
||||
static Ptr createEmbeddedLib(const QString &daemonPath, Ptr fallback = Ptr(0));
|
||||
static Ptr createDnsSdLib(const QString &libName, Ptr fallback = Ptr(0));
|
||||
static Ptr createAvahiLib(const QString &libName, Ptr fallback = Ptr(0));
|
||||
static Ptr createAvahiLib(const QString &libName, const QString &version, Ptr fallback = Ptr(0));
|
||||
protected:
|
||||
bool m_isOk;
|
||||
QString m_errorMsg;
|
||||
|
||||
Reference in New Issue
Block a user