Multiple dbus sources

git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@467 05730e5d-ab1b-0410-a4ac-84af385074fa
This commit is contained in:
Thorvald Natvig 2007-06-12 09:33:34 +00:00
parent df89923512
commit 563f986ac0
3 changed files with 29 additions and 2 deletions

View File

@ -64,6 +64,7 @@ ServerParams::ServerParams() {
qsDatabase = QString();
iDBPort = 0;
qsDBDriver = "QSQLITE";
qsDBus = "session";
}
void ServerParams::read(QString fname) {
@ -86,6 +87,8 @@ void ServerParams::read(QString fname) {
qsDBPassword = qs.value("dbPassword", qsDBPassword).toString();
qsDBHostName = qs.value("dbHost", qsDBHostName).toString();
iDBPort = qs.value("dbPort", iDBPort).toInt();
qsDBus = qs.value("dbus", qsDBus).toString();
}
BandwidthRecord::BandwidthRecord() {

View File

@ -136,6 +136,8 @@ struct ServerParams {
QString qsDBPassword;
QString qsDBHostName;
int iDBPort;
QString qsDBus;
ServerParams();
void read(QString fname = QString("murmur.ini"));

View File

@ -87,11 +87,33 @@ int main(int argc, char **argv)
ServerDB db;
#ifdef Q_OS_UNIX
MurmurDBus::registerTypes();
#endif
dbus=new MurmurDBus(a);
#ifdef Q_OS_UNIX
QDBusConnection::sessionBus().registerObject("/Murmur", &a);
QDBusConnection::sessionBus().registerService("net.sourceforge.mumble");
QDBusConnection qdbc("mainbus");
if (g_sp.qsDBus == "session")
qdbc = QDBusConnection::sessionBus();
else if (g_sp.qsDBus == "system")
qdbc = QDBusConnection::systemBus();
else {
// QtDBus is not quite finished yet.
qWarning("Warning: Peer-to-peer session support is currently nonworking.");
qdbc = QDBusConnection::connectToBus(g_sp.qsDBus, "mainbus");
if (! qdbc.isConnected()) {
QDBusServer *qdbs = new QDBusServer(g_sp.qsDBus, &a);
qWarning("%s",qPrintable(qdbs->lastError().name()));
qWarning("%d",qdbs->isConnected());
qWarning("%s",qPrintable(qdbs->address()));
qdbc = QDBusConnection::connectToBus(g_sp.qsDBus, "mainbus");
}
}
if (! qdbc.isConnected()) {
qWarning("Failed to connect to D-Bus %s",qPrintable(g_sp.qsDBus));
}
qdbc.registerObject("/Murmur", &a);
qdbc.registerService("net.sourceforge.mumble");
#endif
if (! supw.isEmpty()) {