2 Copyright (c) 2007 Volker Krause <vkrause@kde.org>
4 This library is free software; you can redistribute it and/or modify it
5 under the terms of the GNU Library General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or (at your
7 option) any later version.
9 This library is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
12 License for more details.
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to the
16 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
20 #include "korghelper.h"
23 #include <kdbusservicestarter.h>
25 #include <QDBusInterface>
28 void KMail::KorgHelper::ensureRunning()
32 int result
= KDBusServiceStarter::self()->findServiceFor( "DBUS/Organizer",
33 QString(), &error
, &dbusService
);
35 // OK, so korganizer (or kontact) is running. Now ensure the object we want is available
36 // [that's not the case when kontact was already running, but korganizer not loaded into it...]
37 QDBusInterface
iface( "org.kde.korganizer", "/korganizer_PimApplication", "org.kde.KUniqueApplication" );
38 if ( iface
.isValid() ) {
39 QDBusReply
<bool> r
= iface
.call( "load" );
40 if ( !r
.isValid() || !r
.value() )
41 kWarning() << "Loading korganizer failed: " << iface
.lastError().message();
43 kWarning() << "Couldn't obtain korganizer D-Bus interface" << iface
.lastError().message();
45 kWarning() << "Couldn't start DBUS/Organizer: " << dbusService
<< " " << error
;