okteta
abstractfilesystemconnectjob.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 ABSTRACTFILESYSTEMCONNECTJOB_H 00024 #define ABSTRACTFILESYSTEMCONNECTJOB_H 00025 00026 // library 00027 #include "abstractconnectjob.h" 00028 #include "abstractmodelsynchronizer.h" 00029 00030 class AbstractModelFileSystemSynchronizer; 00031 class KUrl; 00032 class QWidget; 00033 00034 00035 class AbstractFileSystemConnectJob : public AbstractConnectJob 00036 { 00037 Q_OBJECT 00038 00039 public: 00040 AbstractFileSystemConnectJob( AbstractModelFileSystemSynchronizer* synchronizer, KAbstractDocument* document, 00041 const KUrl &url, AbstractModelSynchronizer::ConnectOption option ); 00042 virtual ~AbstractFileSystemConnectJob(); 00043 00044 public: // KJob API 00045 virtual void start(); 00046 00047 protected: // API to be implemented 00048 virtual void startConnectWithFile() = 0; 00049 00050 protected: 00051 void complete( bool success ); 00052 00053 protected: 00054 AbstractModelFileSystemSynchronizer* synchronizer() const; 00055 KAbstractDocument *document() const; 00056 QString workFilePath() const; 00057 QWidget *widget() const; 00058 00059 protected Q_SLOTS: 00060 void connectWithFile(); 00061 00062 protected: 00063 class Private; 00064 Private * const d; 00065 }; 00066 00067 #endif
KDE 4.2 API Reference