okteta
abstractfilesystemsynctoremotejob.h
Go to the documentation of this file.00001 /* 00002 This file is part of the Okteta Kakao module, part of the KDE project. 00003 00004 Copyright 2008 Friedrich W. H. Kossebau <kossebau@kde.org> 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Lesser General Public 00008 License as published by the Free Software Foundation; either 00009 version 2.1 of the License, or (at your option) version 3, or any 00010 later version accepted by the membership of KDE e.V. (or its 00011 successor approved by the membership of KDE e.V.), which shall 00012 act as a proxy defined in Section 6 of version 3 of the license. 00013 00014 This library is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 Lesser General Public License for more details. 00018 00019 You should have received a copy of the GNU Lesser General Public 00020 License along with this library. If not, see <http://www.gnu.org/licenses/>. 00021 */ 00022 00023 #ifndef ABSTRACTFILESYSTEMSYNCTOREMOTEJOB_H 00024 #define ABSTRACTFILESYSTEMSYNCTOREMOTEJOB_H 00025 00026 // library 00027 #include "abstractsynctoremotejob.h" 00028 00029 class AbstractModelFileSystemSynchronizer; 00030 class QWidget; 00031 00032 00033 class AbstractFileSystemSyncToRemoteJob : public AbstractSyncToRemoteJob 00034 { 00035 Q_OBJECT 00036 00037 public: 00038 AbstractFileSystemSyncToRemoteJob( AbstractModelFileSystemSynchronizer* synchronizer ); 00039 virtual ~AbstractFileSystemSyncToRemoteJob(); 00040 00041 public: // KJob API 00042 virtual void start(); 00043 00044 protected: // API to be implemented 00045 virtual void startWriteToFile() = 0; 00046 00047 protected: 00048 AbstractModelFileSystemSynchronizer* synchronizer() const; 00049 QString workFilePath() const; 00050 QWidget *widget() const; 00051 00052 protected: 00053 void completeWrite( bool success ); 00054 00055 protected Q_SLOTS: 00056 void syncToRemote(); 00057 00058 protected: 00059 class Private; 00060 Private * const d; 00061 }; 00062 00063 #endif
KDE 4.2 API Reference