kio Library API Documentation

kprotocolinfo.h

00001 /* This file is part of the KDE libraries 00002 Copyright (C) 1999 Torben Weis <weis@kde.org> 00003 Copyright (C) 2000-2001 Waldo Bastian <bastian@kde.org> 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License version 2 as published by the Free Software Foundation. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00017 Boston, MA 02111-1307, USA. 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 // Static functions: 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() {} // for QValueList 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 // Internal functions: 00510 KProtocolInfo( QDataStream& _str, int offset); 00511 00512 virtual ~KProtocolInfo(); 00513 00518 virtual void load(QDataStream& ); 00519 00524 virtual void save(QDataStream& ); 00525 00527 // The following methods are deprecated: 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
KDE Logo
This file is part of the documentation for kio Library Version 3.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Sep 29 09:43:53 2004 by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2003