kprotocolinfo.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __kprotocolinfo_h__
00020 #define __kprotocolinfo_h__
00021
00022 #include <qstring.h>
00023 #include <qstringlist.h>
00024 #include <kurl.h>
00025 #include <ksycocaentry.h>
00026 #include <ksycocatype.h>
00027 #include <kdemacros.h>
00028 #include <qdatastream.h>
00029
00044 class KProtocolInfo : public KSycocaEntry
00045 {
00046 friend class KProtocolInfoFactory;
00047 K_SYCOCATYPE( KST_KProtocolInfo, KSycocaEntry )
00048
00049 public:
00050 typedef KSharedPtr<KProtocolInfo> Ptr;
00051
00052 public:
00057 KProtocolInfo( const QString & path);
00058
00063 virtual bool isValid() const { return !m_name.isEmpty(); }
00064
00073 virtual QString name() const { return m_name; }
00074
00075
00076
00077
00078
00083 static QStringList protocols();
00084
00092 static bool isKnownProtocol( const KURL &url );
00093
00105 static QString exec( const QString& protocol );
00106
00110 enum Type { T_STREAM,
00111 T_FILESYSTEM,
00112 T_NONE,
00113 T_ERROR
00114 };
00115
00126 static Type inputType( const KURL &url );
00127
00138 static Type outputType( const KURL &url );
00139
00152 static QStringList listing( const KURL &url );
00153
00158 struct ExtraField {
00159 ExtraField() {}
00160 ExtraField(const QString& _name, const QString& _type )
00161 : name(_name), type(_type) {
00162 }
00163 QString name;
00164 QString type;
00165 };
00166 typedef QValueList<ExtraField > ExtraFieldList;
00174 static ExtraFieldList extraFields( const KURL& url );
00175
00189 static bool isSourceProtocol( const KURL &url );
00190
00203 static bool isHelperProtocol( const KURL &url );
00204
00221 static bool isFilterProtocol( const KURL &url );
00222
00238 static bool supportsListing( const KURL &url );
00239
00249 static bool supportsReading( const KURL &url );
00250
00260 static bool supportsWriting( const KURL &url );
00261
00271 static bool supportsMakeDir( const KURL &url );
00272
00282 static bool supportsDeleting( const KURL &url );
00283
00293 static bool supportsLinking( const KURL &url );
00294
00305 static bool supportsMoving( const KURL &url );
00306
00319 static bool canCopyFromFile( const KURL &url );
00320
00333 static bool canCopyToFile( const KURL &url );
00334
00343 static QString defaultMimetype( const KURL& url );
00344
00353 static QString icon( const QString& protocol );
00354
00366 static QString config( const QString& protocol );
00367
00380 static int maxSlaves( const QString& protocol );
00381
00393 static bool determineMimetypeFromExtension( const QString &protocol );
00394
00404 static QString docPath( const QString& protocol );
00405
00422 static QString protocolClass( const QString& protocol );
00423
00435 static bool showFilePreview( const QString& protocol );
00436
00452 static KURL::URIMode uriParseMode( const QString& protocol );
00453
00454 public:
00455
00459 KProtocolInfo( QDataStream& _str, int offset);
00460
00461 virtual ~KProtocolInfo();
00462
00467 virtual void load(QDataStream& );
00468
00473 virtual void save(QDataStream& );
00474
00476
00477
00479 static Type inputType( const QString& protocol ) KDE_DEPRECATED;
00481 static Type outputType( const QString& protocol ) KDE_DEPRECATED;
00488 static QStringList listing( const QString& protocol ) KDE_DEPRECATED;
00490 static bool isSourceProtocol( const QString& protocol ) KDE_DEPRECATED;
00492 static bool isHelperProtocol( const QString& protocol ) KDE_DEPRECATED;
00494 static bool isFilterProtocol( const QString& protocol ) KDE_DEPRECATED;
00496 static bool isKnownProtocol( const QString& protocol ) KDE_DEPRECATED;
00498 static bool supportsListing( const QString& protocol ) KDE_DEPRECATED;
00500 static bool supportsReading( const QString& protocol ) KDE_DEPRECATED;
00502 static bool supportsWriting( const QString& protocol ) KDE_DEPRECATED;
00504 static bool supportsMakeDir( const QString& protocol ) KDE_DEPRECATED;
00506 static bool supportsDeleting( const QString& protocol ) KDE_DEPRECATED;
00508 static bool supportsLinking( const QString& protocol ) KDE_DEPRECATED;
00510 static bool supportsMoving( const QString& protocol ) KDE_DEPRECATED;
00512 static bool canCopyFromFile( const QString& protocol ) KDE_DEPRECATED;
00514 static bool canCopyToFile( const QString& protocol ) KDE_DEPRECATED;
00516 static QString defaultMimetype( const QString& protocol) KDE_DEPRECATED;
00518
00519 protected:
00520 QString m_name;
00521 QString m_exec;
00522 Type m_inputType;
00523 Type m_outputType;
00524 QStringList m_listing;
00525 bool m_isSourceProtocol;
00526 bool m_isHelperProtocol;
00527 bool m_supportsListing;
00528 bool m_supportsReading;
00529 bool m_supportsWriting;
00530 bool m_supportsMakeDir;
00531 bool m_supportsDeleting;
00532 bool m_supportsLinking;
00533 bool m_supportsMoving;
00534 QString m_defaultMimetype;
00535 bool m_determineMimetypeFromExtension;
00536 QString m_icon;
00537 bool m_canCopyFromFile;
00538 bool m_canCopyToFile;
00539 QString m_config;
00540 int m_maxSlaves;
00541 protected:
00542 virtual void virtual_hook( int id, void* data );
00543 private:
00544 class KProtocolInfoPrivate;
00545 KProtocolInfoPrivate* d;
00546 };
00547
00548 QDataStream& operator>>( QDataStream& s, KProtocolInfo::ExtraField& field );
00549 QDataStream& operator<<( QDataStream& s, const KProtocolInfo::ExtraField& field );
00550
00551 #endif
This file is part of the documentation for kio Library Version 3.2.3.