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
00098 static bool isKnownProtocol( const QString& protocol );
00099
00111 static QString exec( const QString& protocol );
00112
00116 enum Type { T_STREAM,
00117 T_FILESYSTEM,
00118 T_NONE,
00119 T_ERROR
00120 };
00121
00132 static Type inputType( const KURL &url );
00133
00144 static Type outputType( const KURL &url );
00145
00158 static QStringList listing( const KURL &url );
00159
00164 struct ExtraField {
00165 ExtraField() {}
00166 ExtraField(const QString& _name, const QString& _type )
00167 : name(_name), type(_type) {
00168 }
00169 QString name;
00170 QString type;
00171 };
00172 typedef QValueList<ExtraField > ExtraFieldList;
00180 static ExtraFieldList extraFields( const KURL& url );
00181
00195 static bool isSourceProtocol( const KURL &url );
00196
00209 static bool isHelperProtocol( const KURL &url );
00210
00215 static bool isHelperProtocol( const QString& protocol );
00216
00233 static bool isFilterProtocol( const KURL &url );
00234
00239 static bool isFilterProtocol( const QString& protocol );
00240
00256 static bool supportsListing( const KURL &url );
00257
00267 static bool supportsReading( const KURL &url );
00268
00278 static bool supportsWriting( const KURL &url );
00279
00289 static bool supportsMakeDir( const KURL &url );
00290
00300 static bool supportsDeleting( const KURL &url );
00301
00311 static bool supportsLinking( const KURL &url );
00312
00323 static bool supportsMoving( const KURL &url );
00324
00337 static bool canCopyFromFile( const KURL &url );
00338
00351 static bool canCopyToFile( const KURL &url );
00352
00361 static QString defaultMimetype( const KURL& url );
00362
00371 static QString icon( const QString& protocol );
00372
00384 static QString config( const QString& protocol );
00385
00398 static int maxSlaves( const QString& protocol );
00399
00411 static bool determineMimetypeFromExtension( const QString &protocol );
00412
00422 static QString docPath( const QString& protocol );
00423
00440 static QString protocolClass( const QString& protocol );
00441
00453 static bool showFilePreview( const QString& protocol );
00454
00470 static KURL::URIMode uriParseMode( const QString& protocol );
00471
00490 static QStringList capabilities( const QString& protocol );
00491
00503 static QString proxiedBy( const QString& protocol );
00504
00505 public:
00506
00510 KProtocolInfo( QDataStream& _str, int offset);
00511
00512 virtual ~KProtocolInfo();
00513
00518 virtual void load(QDataStream& );
00519
00524 virtual void save(QDataStream& );
00525
00527
00528
00530 static Type inputType( const QString& protocol ) KDE_DEPRECATED;
00532 static Type outputType( const QString& protocol ) KDE_DEPRECATED;
00539 static QStringList listing( const QString& protocol ) KDE_DEPRECATED;
00541 static bool isSourceProtocol( const QString& protocol ) KDE_DEPRECATED;
00543 static bool supportsListing( const QString& protocol ) KDE_DEPRECATED;
00545 static bool supportsReading( const QString& protocol ) KDE_DEPRECATED;
00547 static bool supportsWriting( const QString& protocol ) KDE_DEPRECATED;
00549 static bool supportsMakeDir( const QString& protocol ) KDE_DEPRECATED;
00551 static bool supportsDeleting( const QString& protocol ) KDE_DEPRECATED;
00553 static bool supportsLinking( const QString& protocol ) KDE_DEPRECATED;
00555 static bool supportsMoving( const QString& protocol ) KDE_DEPRECATED;
00557 static bool canCopyFromFile( const QString& protocol ) KDE_DEPRECATED;
00559 static bool canCopyToFile( const QString& protocol ) KDE_DEPRECATED;
00561 static QString defaultMimetype( const QString& protocol) KDE_DEPRECATED;
00563
00564 protected:
00565 QString m_name;
00566 QString m_exec;
00567 Type m_inputType;
00568 Type m_outputType;
00569 QStringList m_listing;
00570 bool m_isSourceProtocol;
00571 bool m_isHelperProtocol;
00572 bool m_supportsListing;
00573 bool m_supportsReading;
00574 bool m_supportsWriting;
00575 bool m_supportsMakeDir;
00576 bool m_supportsDeleting;
00577 bool m_supportsLinking;
00578 bool m_supportsMoving;
00579 QString m_defaultMimetype;
00580 bool m_determineMimetypeFromExtension;
00581 QString m_icon;
00582 bool m_canCopyFromFile;
00583 bool m_canCopyToFile;
00584 QString m_config;
00585 int m_maxSlaves;
00586 protected:
00587 virtual void virtual_hook( int id, void* data );
00588 private:
00589 class KProtocolInfoPrivate;
00590 KProtocolInfoPrivate* d;
00591 };
00592
00593 QDataStream& operator>>( QDataStream& s, KProtocolInfo::ExtraField& field );
00594 QDataStream& operator<<( QDataStream& s, const KProtocolInfo::ExtraField& field );
00595
00596 #endif
This file is part of the documentation for kio Library Version 3.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Sep 23 17:12:23 2004 by
doxygen 1.3.8-20040913 written by
Dimitri van Heesch, © 1997-2003