2006-02-13 John (J5) Palmieri <johnp@redhat.com>
[platform/upstream/dbus.git] / qt / qdbusserver.cpp
1 /* qdbusserver.cpp
2  *
3  * Copyright (C) 2005 Harald Fernengel <harry@kdevelop.org>
4  *
5  * Licensed under the Academic Free License version 2.1
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20  *
21  */
22
23 #include "qdbusserver.h"
24 #include "qdbusconnection_p.h"
25
26 QDBusServer::QDBusServer(const QString &addr, QObject *parent)
27     : QObject(parent)
28 {
29     d = new QDBusConnectionPrivate(this);
30
31     if (addr.isEmpty())
32         return;
33
34     d->setServer(dbus_server_listen(addr.toUtf8().constData(), &d->error));
35 }
36
37 bool QDBusServer::isConnected() const
38 {
39     return d->server && dbus_server_get_is_connected(d->server);
40 }
41
42 QDBusError QDBusServer::lastError() const
43 {
44     return d->lastError;
45 }
46
47 QString QDBusServer::address() const
48 {
49     QString addr;
50     if (d->server) {
51         char *c = dbus_server_get_address(d->server);
52         addr = QString::fromUtf8(c);
53         dbus_free(c);
54     }
55
56     return addr;
57 }
58
59 #include "qdbusserver.moc"