libkdepim

alarmclient.cpp

00001 /*
00002     This file is part of KOrganizer.
00003 
00004     Copyright (c) 2003 Cornelius Schumacher <schumacher@kde.org>
00005     Copyright (c) 2005 David Faure <faure@kde.org>
00006 
00007     This library is free software; you can redistribute it and/or
00008     modify it under the terms of the GNU Library General Public
00009     License as published by the Free Software Foundation; either
00010     version 2 of the License, or (at your option) any later version.
00011 
00012     This library is distributed in the hope that it will be useful,
00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015     Library General Public License for more details.
00016 
00017     You should have received a copy of the GNU Library General Public License
00018     along with this library; see the file COPYING.LIB.  If not, write to
00019     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00020     Boston, MA 02110-1301, USA.
00021 */
00022 
00023 #include "alarmclient.h"
00024 
00025 #include <kapplication.h>
00026 #include <kdebug.h>
00027 #include <kstandarddirs.h>
00028 
00029 #include <dcopclient.h>
00030 #include <dcopref.h>
00031 
00032 AlarmClient::AlarmClient()
00033 {
00034   kdDebug(5850) << "AlarmClient::AlarmClient()" << endl;
00035 }
00036 
00037 void AlarmClient::startDaemon()
00038 {
00039   if ( kapp->dcopClient()->isApplicationRegistered( "korgac" ) ) {
00040     // Alarm daemon already runs
00041     return;
00042   }
00043 
00044   KGlobal::dirs()->addResourceType("autostart", "share/autostart");
00045   QString desktopFile = locate( "autostart", "korgac.desktop" );
00046   if ( desktopFile.isEmpty() ) {
00047     kdWarning() << "Couldn't find autostart/korgac.desktop!" << endl;
00048   }
00049   else {
00050     QString error;
00051     if ( kapp->startServiceByDesktopPath( desktopFile, QStringList(), &error ) != 0 )
00052       kdWarning() << "Failure starting korgac:" << error << endl;
00053   }
00054 }
00055 
00056 void AlarmClient::stopDaemon()
00057 {
00058   DCOPRef ref( "korgac", "ac" );
00059   ref.send( "quit" );
00060 }
KDE Home | KDE Accessibility Home | Description of Access Keys