okteta
abstractmodelexporter.h
Go to the documentation of this file.00001 /* 00002 This file is part of the Kakao Framework, part of the KDE project. 00003 00004 Copyright 2007-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 ABSTRACTMODELEXPORTER_H 00024 #define ABSTRACTMODELEXPORTER_H 00025 00026 // Qt 00027 #include <QtCore/QObject> 00028 #include <QtCore/QString> 00029 00030 class AbstractModel; 00031 class AbstractModelSelection; 00032 class AbstractExportJob; 00033 class KUrl; 00034 00035 class AbstractModelExporter : public QObject 00036 { 00037 Q_OBJECT 00038 00039 protected: 00040 AbstractModelExporter( const QString &remoteTypeName, const QString &remoteMimeType ); 00041 public: 00042 virtual ~AbstractModelExporter(); 00043 00044 public: // API to be implemented 00045 virtual AbstractExportJob *startExport( AbstractModel *model, const AbstractModelSelection *selection, 00046 const KUrl &url ) = 0; 00047 virtual QString modelTypeName( AbstractModel *model, const AbstractModelSelection *selection ) const = 0; 00048 00049 public: 00050 QString remoteTypeName() const; 00051 QString remoteMimeType() const; 00052 00053 protected: 00054 class Private; 00055 Private * const d; 00056 }; 00057 00058 #endif
KDE 4.2 API Reference