kitchensync

localkonnector.h

00001 /*
00002     This file is part of KitchenSync.
00003 
00004     Copyright (c) 2003,2004 Cornelius Schumacher <schumacher@kde.org>
00005 
00006     This library is free software; you can redistribute it and/or
00007     modify it under the terms of the GNU Library General Public
00008     License as published by the Free Software Foundation; either
00009     version 2 of the License, or (at your option) any later version.
00010 
00011     This library is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014     Library General Public License for more details.
00015 
00016     You should have received a copy of the GNU Library General Public License
00017     along with this library; see the file COPYING.LIB.  If not, write to
00018     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00019     Boston, MA 02110-1301, USA.
00020 */
00021 #ifndef KSYNC_LOCALKONNECTOR_H
00022 #define KSYNC_LOCALKONNECTOR_H
00023 
00024 #include <libkcal/calendarlocal.h>
00025 #include <kabc/addressbook.h>
00026 #include <kbookmarkmanager.h>
00027 
00028 #include <konnector.h>
00029 
00030 #include <qiconset.h>
00031 #include <qptrlist.h>
00032 
00033 namespace KABC {
00034 class ResourceFile;
00035 }
00036 
00037 namespace KSync {
00038 
00039 class LocalKonnectorConfig;
00040 
00041 class LocalKonnector : public KSync::Konnector
00042 {
00043     Q_OBJECT
00044   public:
00045     LocalKonnector( const KConfig *config );
00046     ~LocalKonnector();
00047 
00048     void writeConfig( KConfig * );
00049 
00050     SynceeList syncees() { return mSyncees; }
00051 
00052     bool readSyncees();
00053     bool writeSyncees();
00054 
00055     bool connectDevice();
00056     bool disconnectDevice();
00057 
00058     KSync::KonnectorInfo info() const;
00059     virtual QStringList supportedFilterTypes() const;
00060 
00061     void setCalendarFile( const QString &f ) { mCalendarFile = f; }
00062     QString calendarFile() const { return mCalendarFile; }
00063 
00064     void setAddressBookFile( const QString &f ) { mAddressBookFile = f; }
00065     QString addressBookFile() const { return mAddressBookFile; }
00066 
00067     void setBookmarkFile( const QString &f ) { mBookmarkFile = f; }
00068     QString bookmarkFile() const { return mBookmarkFile; }
00069 
00070   private:
00071     LocalKonnectorConfig *mConfigWidget;
00072     QString mCalendarFile;
00073     QString mAddressBookFile;
00074     QString mBookmarkFile;
00075 
00076     QString mMd5sumCal;
00077     QString mMd5sumAbk;
00078     QString mMd5sumBkm;
00079 
00080     KCal::CalendarLocal mCalendar;
00081     KABC::AddressBook mAddressBook;
00082     KABC::ResourceFile *mAddressBookResourceFile;
00083 
00084     KSync::AddressBookSyncee *mAddressBookSyncee;
00085     KSync::CalendarSyncee *mCalendarSyncee;
00086 
00087     class LocalBookmarkManager : public KBookmarkManager
00088     {
00089       public:
00090         LocalBookmarkManager() : KBookmarkManager() {}
00091     };
00092     LocalBookmarkManager mBookmarkManager;
00093 
00094     SynceeList mSyncees;
00095 
00096     KPIM::ProgressItem *mProgressItem;
00097 };
00098 
00099 }
00100 
00101 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys