//
//     Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2007 Jim Bublitz also apply

//                 Generated by twine

// This file is part of PyKDE4.

// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.

// PyKDE4 is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.




%ModuleHeaderCode
//ctscc
#include <chmodjob.h>
#include <connection.h>
#include <copyjob.h>
#include <davjob.h>
#include <deletejob.h>
#include <directorysizejob.h>
#include <filejob.h>
#include <fileundomanager.h>
#include <forwardingslavebase.h>
#include <jobclasses.h>
#include <jobuidelegate.h>
#include <kabstractfileitemactionplugin.h>
#include <kabstractfilemodule.h>
#include <kautomount.h>
#include <kbookmarkdialog.h>
#include <kbookmarkdombuilder.h>
#include <kbookmarkimporter.h>
#include <kbookmarkimporter_crash.h>
#include <kbookmarkimporter_ie.h>
#include <kbookmarkimporter_ns.h>
#include <kbookmarkimporter_opera.h>
#include <kbookmarkmanager.h>
#include <kbookmarkmenu.h>
#include <kbuildsycocaprogressdialog.h>
#include <kdatatool.h>
#include <kdevicelistmodel.h>
#include <kdirlister.h>
#include <kdirmodel.h>
#include <kdiroperator.h>
#include <kdirselectdialog.h>
#include <kdirsortfilterproxymodel.h>
#include <kdirwatch.h>
#include <kdiskfreespace.h>
#include <kencodingfiledialog.h>
#include <kfiledialog.h>
#include <kfilefiltercombo.h>
#include <kfileitemactionplugin.h>
#include <kfileitemactions.h>
#include <kfileitemdelegate.h>
#include <kfilemetadataconfigurationwidget.h>
#include <kfilemetadatawidget.h>
#include <kfileplacesmodel.h>
#include <kfileplacesview.h>
#include <kfilepreviewgenerator.h>
#include <kfilesharedialog.h>
#include <kfilewidget.h>
#include <kfilewriteplugin.h>
#include <kicondialog.h>
#include <kimagefilepreview.h>
#include <kmimetypechooser.h>
#include <knameandurlinputdialog.h>
#include <knewfilemenu.h>
#include <knfsshare.h>
#include <konqbookmarkmenu.h>
#include <kopenwithdialog.h>
#include <kpreviewwidgetbase.h>
#include <kpropertiesdialog.h>
#include <krun.h>
#include <ksambashare.h>
#include <kscan.h>
#include <kshellcompletion.h>
#include <kstatusbarofflineindicator.h>
#include <kurifilter.h>
#include <kurlcombobox.h>
#include <kurlcompletion.h>
#include <kurlnavigator.h>
#include <kurlrequester.h>
#include <kurlrequesterdialog.h>
#include <metainfojob.h>
#include <netaccess.h>
#include <passworddialog.h>
#include <previewjob.h>
#include <qobject.h>
#include <renamedialog.h>
#include <renamedialogplugin.h>
#include <scheduler.h>
#include <sessiondata.h>
#include <skipdialog.h>
#include <slave.h>
#include <slaveconfig.h>
#include <slaveinterface.h>
%End

class KAbstractFileModule : QObject
{
%TypeHeaderCode
#include <kabstractfilemodule.h>
%End


public:
                            KAbstractFileModule (QObject* parent /TransferThis/);
    virtual QWidget*        createFileWidget (const KUrl& startDir, QWidget* parent /Transfer/)=0;
    virtual KUrl            getStartUrl (const KUrl& startDir, QString& recentDirClass)=0;
    virtual void            setStartDir (const KUrl& directory)=0;
    virtual KUrl            selectDirectory (const KUrl& startDir, bool localOnly, QWidget* parent /Transfer/, const QString& caption)=0;


//  Subclasses of QObject

%ConvertToSubClassCode
    // CTSCC for subclasses of 'QObject'
    sipType = NULL;

    if (dynamic_cast<KAbstractFileItemActionPlugin*>(sipCpp))
        sipType = sipType_KAbstractFileItemActionPlugin;
    else if (dynamic_cast<KAbstractFileModule*>(sipCpp))
        sipType = sipType_KAbstractFileModule;
    else if (dynamic_cast<KAutoMount*>(sipCpp))
        sipType = sipType_KAutoMount;
    else if (dynamic_cast<KAutoUnmount*>(sipCpp))
        sipType = sipType_KAutoUnmount;
    else if (dynamic_cast<KBookmarkDomBuilder*>(sipCpp))
        sipType = sipType_KBookmarkDomBuilder;
    else if (dynamic_cast<KBookmarkImporterBase*>(sipCpp))
        {
        sipType = sipType_KBookmarkImporterBase;
        if (dynamic_cast<KCrashBookmarkImporterImpl*>(sipCpp))
            sipType = sipType_KCrashBookmarkImporterImpl;
        else if (dynamic_cast<KIEBookmarkImporterImpl*>(sipCpp))
            sipType = sipType_KIEBookmarkImporterImpl;
        else if (dynamic_cast<KNSBookmarkImporterImpl*>(sipCpp))
            {
            sipType = sipType_KNSBookmarkImporterImpl;
            if (dynamic_cast<KMozillaBookmarkImporterImpl*>(sipCpp))
                sipType = sipType_KMozillaBookmarkImporterImpl;
            }
        else if (dynamic_cast<KOperaBookmarkImporterImpl*>(sipCpp))
            sipType = sipType_KOperaBookmarkImporterImpl;
        else if (dynamic_cast<KXBELBookmarkImporterImpl*>(sipCpp))
            sipType = sipType_KXBELBookmarkImporterImpl;
        }
    else if (dynamic_cast<KBookmarkManager*>(sipCpp))
        sipType = sipType_KBookmarkManager;
    else if (dynamic_cast<KBookmarkMenu*>(sipCpp))
        {
        sipType = sipType_KBookmarkMenu;
        if (dynamic_cast<KonqBookmarkMenu*>(sipCpp))
            sipType = sipType_KonqBookmarkMenu;
        }
    else if (dynamic_cast<KUrlCompletion*>(sipCpp))
        {
        sipType = sipType_KUrlCompletion;
        if (dynamic_cast<KShellCompletion*>(sipCpp))
            sipType = sipType_KShellCompletion;
        }
    else if (dynamic_cast<KCrashBookmarkImporter*>(sipCpp))
        sipType = sipType_KCrashBookmarkImporter;
    else if (dynamic_cast<KDataTool*>(sipCpp))
        sipType = sipType_KDataTool;
    else if (dynamic_cast<KDirLister*>(sipCpp))
        sipType = sipType_KDirLister;
    else if (dynamic_cast<KDirWatch*>(sipCpp))
        sipType = sipType_KDirWatch;
    else if (dynamic_cast<KDiskFreeSpace*>(sipCpp))
        sipType = sipType_KDiskFreeSpace;
    else if (dynamic_cast<KFileItemActionPlugin*>(sipCpp))
        sipType = sipType_KFileItemActionPlugin;
    else if (dynamic_cast<KFileItemActions*>(sipCpp))
        sipType = sipType_KFileItemActions;
    else if (dynamic_cast<KFilePreviewGenerator*>(sipCpp))
        sipType = sipType_KFilePreviewGenerator;
    else if (dynamic_cast<KFileWritePlugin*>(sipCpp))
        sipType = sipType_KFileWritePlugin;
    else if (dynamic_cast<KIO::Connection*>(sipCpp))
        sipType = sipType_KIO_Connection;
    else if (dynamic_cast<KIO::ConnectionServer*>(sipCpp))
        sipType = sipType_KIO_ConnectionServer;
    else if (dynamic_cast<KIO::FileUndoManager*>(sipCpp))
        sipType = sipType_KIO_FileUndoManager;
    else if (dynamic_cast<KIO::ForwardingSlaveBase*>(sipCpp))
        sipType = sipType_KIO_ForwardingSlaveBase;
    else if (dynamic_cast<KIO::NetAccess*>(sipCpp))
        sipType = sipType_KIO_NetAccess;
    else if (dynamic_cast<KIO::Scheduler*>(sipCpp))
        sipType = sipType_KIO_Scheduler;
    else if (dynamic_cast<KIO::SessionData*>(sipCpp))
        sipType = sipType_KIO_SessionData;
    else if (dynamic_cast<KIO::SlaveConfig*>(sipCpp))
        sipType = sipType_KIO_SlaveConfig;
    else if (dynamic_cast<KIO::SlaveInterface*>(sipCpp))
        {
        sipType = sipType_KIO_SlaveInterface;
        if (dynamic_cast<KIO::Slave*>(sipCpp))
            sipType = sipType_KIO_Slave;
        }
    else if (dynamic_cast<KIO::Job*>(sipCpp))
        {
        sipType = sipType_KIO_Job;
        if (dynamic_cast<KIO::ChmodJob*>(sipCpp))
            sipType = sipType_KIO_ChmodJob;
        else if (dynamic_cast<KIO::CopyJob*>(sipCpp))
            sipType = sipType_KIO_CopyJob;
        else if (dynamic_cast<KIO::DeleteJob*>(sipCpp))
            sipType = sipType_KIO_DeleteJob;
        else if (dynamic_cast<KIO::DirectorySizeJob*>(sipCpp))
            sipType = sipType_KIO_DirectorySizeJob;
        else if (dynamic_cast<KIO::FileCopyJob*>(sipCpp))
            sipType = sipType_KIO_FileCopyJob;
        else if (dynamic_cast<KIO::MetaInfoJob*>(sipCpp))
            sipType = sipType_KIO_MetaInfoJob;
        else if (dynamic_cast<KIO::PreviewJob*>(sipCpp))
            sipType = sipType_KIO_PreviewJob;
        else if (dynamic_cast<KIO::SimpleJob*>(sipCpp))
            {
            sipType = sipType_KIO_SimpleJob;
            if (dynamic_cast<KIO::FileJob*>(sipCpp))
                sipType = sipType_KIO_FileJob;
            else if (dynamic_cast<KIO::ListJob*>(sipCpp))
                sipType = sipType_KIO_ListJob;
            else if (dynamic_cast<KIO::StatJob*>(sipCpp))
                sipType = sipType_KIO_StatJob;
            else if (dynamic_cast<KIO::TransferJob*>(sipCpp))
                {
                sipType = sipType_KIO_TransferJob;
                if (dynamic_cast<KIO::DavJob*>(sipCpp))
                    sipType = sipType_KIO_DavJob;
                else if (dynamic_cast<KIO::MimetypeJob*>(sipCpp))
                    sipType = sipType_KIO_MimetypeJob;
                else if (dynamic_cast<KIO::MultiGetJob*>(sipCpp))
                    sipType = sipType_KIO_MultiGetJob;
                else if (dynamic_cast<KIO::SpecialJob*>(sipCpp))
                    sipType = sipType_KIO_SpecialJob;
                else if (dynamic_cast<KIO::StoredTransferJob*>(sipCpp))
                    sipType = sipType_KIO_StoredTransferJob;
                }
            }
        }
    else if (dynamic_cast<KIO::JobUiDelegate*>(sipCpp))
        sipType = sipType_KIO_JobUiDelegate;
    else if (dynamic_cast<KNFSShare*>(sipCpp))
        sipType = sipType_KNFSShare;
    else if (dynamic_cast<KPropertiesDialogPlugin*>(sipCpp))
        {
        sipType = sipType_KPropertiesDialogPlugin;
        if (dynamic_cast<KFileSharePropsPlugin*>(sipCpp))
            sipType = sipType_KFileSharePropsPlugin;
        }
    else if (dynamic_cast<KRun*>(sipCpp))
        sipType = sipType_KRun;
    else if (dynamic_cast<KSambaShare*>(sipCpp))
        sipType = sipType_KSambaShare;
    else if (dynamic_cast<KUriFilterPlugin*>(sipCpp))
        sipType = sipType_KUriFilterPlugin;
    else if (dynamic_cast<KFileItemDelegate*>(sipCpp))
        sipType = sipType_KFileItemDelegate;
    else if (dynamic_cast<KDeviceListModel*>(sipCpp))
        sipType = sipType_KDeviceListModel;
    else if (dynamic_cast<KDirModel*>(sipCpp))
        sipType = sipType_KDirModel;
    else if (dynamic_cast<KFilePlacesModel*>(sipCpp))
        sipType = sipType_KFilePlacesModel;
    else if (dynamic_cast<KDirSortFilterProxyModel*>(sipCpp))
        sipType = sipType_KDirSortFilterProxyModel;
    else if (dynamic_cast<KBookmarkActionMenu*>(sipCpp))
        sipType = sipType_KBookmarkActionMenu;
    else if (dynamic_cast<KNewFileMenu*>(sipCpp))
        sipType = sipType_KNewFileMenu;
    else if (dynamic_cast<KBookmarkAction*>(sipCpp))
        sipType = sipType_KBookmarkAction;
    else if (dynamic_cast<KDataToolAction*>(sipCpp))
        sipType = sipType_KDataToolAction;
    else if (dynamic_cast<KDirOperator*>(sipCpp))
        sipType = sipType_KDirOperator;
    else if (dynamic_cast<KFileMetaDataConfigurationWidget*>(sipCpp))
        sipType = sipType_KFileMetaDataConfigurationWidget;
    else if (dynamic_cast<KFileMetaDataWidget*>(sipCpp))
        sipType = sipType_KFileMetaDataWidget;
    else if (dynamic_cast<KFileWidget*>(sipCpp))
        sipType = sipType_KFileWidget;
    else if (dynamic_cast<KIO::RenameDialogPlugin*>(sipCpp))
        sipType = sipType_KIO_RenameDialogPlugin;
    else if (dynamic_cast<KPreviewWidgetBase*>(sipCpp))
        {
        sipType = sipType_KPreviewWidgetBase;
        if (dynamic_cast<KImageFilePreview*>(sipCpp))
            sipType = sipType_KImageFilePreview;
        }
    else if (dynamic_cast<KStatusBarOfflineIndicator*>(sipCpp))
        sipType = sipType_KStatusBarOfflineIndicator;
    else if (dynamic_cast<KUrlNavigator*>(sipCpp))
        sipType = sipType_KUrlNavigator;
    else if (dynamic_cast<KIconButton*>(sipCpp))
        sipType = sipType_KIconButton;
    else if (dynamic_cast<KFileFilterCombo*>(sipCpp))
        sipType = sipType_KFileFilterCombo;
    else if (dynamic_cast<KUrlComboBox*>(sipCpp))
        sipType = sipType_KUrlComboBox;
    else if (dynamic_cast<KBookmarkDialog*>(sipCpp))
        sipType = sipType_KBookmarkDialog;
    else if (dynamic_cast<KDirSelectDialog*>(sipCpp))
        sipType = sipType_KDirSelectDialog;
    else if (dynamic_cast<KFileDialog*>(sipCpp))
        {
        sipType = sipType_KFileDialog;
        if (dynamic_cast<KEncodingFileDialog*>(sipCpp))
            sipType = sipType_KEncodingFileDialog;
        }
    else if (dynamic_cast<KIO::SkipDialog*>(sipCpp))
        sipType = sipType_KIO_SkipDialog;
    else if (dynamic_cast<KIconDialog*>(sipCpp))
        sipType = sipType_KIconDialog;
    else if (dynamic_cast<KMimeTypeChooserDialog*>(sipCpp))
        sipType = sipType_KMimeTypeChooserDialog;
    else if (dynamic_cast<KNameAndUrlInputDialog*>(sipCpp))
        sipType = sipType_KNameAndUrlInputDialog;
    else if (dynamic_cast<KOpenWithDialog*>(sipCpp))
        sipType = sipType_KOpenWithDialog;
    else if (dynamic_cast<KOCRDialog*>(sipCpp))
        sipType = sipType_KOCRDialog;
    else if (dynamic_cast<KPropertiesDialog*>(sipCpp))
        sipType = sipType_KPropertiesDialog;
    else if (dynamic_cast<KScanDialog*>(sipCpp))
        sipType = sipType_KScanDialog;
    else if (dynamic_cast<KIO::PasswordDialog*>(sipCpp))
        sipType = sipType_KIO_PasswordDialog;
    else if (dynamic_cast<KUrlRequesterDialog*>(sipCpp))
        sipType = sipType_KUrlRequesterDialog;
    else if (dynamic_cast<KIO::RenameDialog*>(sipCpp))
        sipType = sipType_KIO_RenameDialog;
    else if (dynamic_cast<KBuildSycocaProgressDialog*>(sipCpp))
        sipType = sipType_KBuildSycocaProgressDialog;
    else if (dynamic_cast<KUrlRequester*>(sipCpp))
        {
        sipType = sipType_KUrlRequester;
        if (dynamic_cast<KUrlComboRequester*>(sipCpp))
            sipType = sipType_KUrlComboRequester;
        }
    else if (dynamic_cast<KMimeTypeChooser*>(sipCpp))
        sipType = sipType_KMimeTypeChooser;
    else if (dynamic_cast<KFilePlacesView*>(sipCpp))
        sipType = sipType_KFilePlacesView;
    else if (dynamic_cast<KIconCanvas*>(sipCpp))
        sipType = sipType_KIconCanvas;
    else if (dynamic_cast<KBookmarkContextMenu*>(sipCpp))
        sipType = sipType_KBookmarkContextMenu;
%End

};
// KAbstractFileModule


