• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdelibs API Reference
  • KDE Home
  • Contact Us
 

KDECore

  • sources
  • kde-4.14
  • kdelibs
  • kdecore
  • sycoca
kprotocolinfo.h
Go to the documentation of this file.
1 /* This file is part of the KDE libraries
2  Copyright (C) 1999 Torben Weis <weis@kde.org>
3  Copyright (C) 2000-2001 Waldo Bastian <bastian@kde.org>
4 
5  This library is free software; you can redistribute it and/or
6  modify it under the terms of the GNU Library General Public
7  License version 2 as published by the Free Software Foundation.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Library General Public License for more details.
13 
14  You should have received a copy of the GNU Library General Public License
15  along with this library; see the file COPYING.LIB. If not, write to
16  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  Boston, MA 02110-1301, USA.
18 */
19 #ifndef KPROTOCOLINFO_H
20 #define KPROTOCOLINFO_H
21 
22 #include <kglobal.h>
23 
24 #include <kurl.h>
25 #include <ksycocaentry.h>
26 #include <ksycocatype.h>
27 #include <kservice.h>
28 #include <QtCore/QVariant>
29 #include <QtCore/QStringList>
30 
31 class QDataStream;
32 class KProtocolInfoPrivate;
33 
50 class KDECORE_EXPORT KProtocolInfo : public KSycocaEntry
51 {
52  friend class KProtocolInfoFactory;
53  friend class KBuildProtocolInfoFactory;
54  friend class KProtocolManager;
55 public:
56  typedef KSharedPtr<KProtocolInfo> Ptr;
57  typedef QList<Ptr> List;
58 
59 public:
60 
61  //
62  // Static functions:
63  //
64 
69  static QStringList protocols();
70 
78  static bool isKnownProtocol( const KUrl &url );
79 
84  static bool isKnownProtocol( const QString& protocol );
85 
97  static QString exec( const QString& protocol );
98 
106  enum Type { T_STREAM,
107  T_FILESYSTEM,
108  T_NONE,
109  T_ERROR
110  };
111 
120  struct ExtraField {
121 
122  enum Type { String = QVariant::String, DateTime = QVariant::DateTime, Invalid = QVariant::Invalid };
123 
124  ExtraField() : type(Invalid) {}
125  ExtraField(const QString& _name, Type _type )
126  : name(_name), type(_type) {
127  }
128  QString name;
129  Type type;
130  };
131  typedef QList<ExtraField> ExtraFieldList;
139  static ExtraFieldList extraFields( const KUrl& url );
140 
153  static bool isHelperProtocol( const KUrl &url );
154 
159  static bool isHelperProtocol( const QString& protocol );
160 
177  static bool isFilterProtocol( const KUrl &url );
178 
183  static bool isFilterProtocol( const QString& protocol );
184 
193  static QString icon( const QString& protocol );
194 
206  static QString config( const QString& protocol );
207 
220  static int maxSlaves( const QString& protocol );
221 
222 
234  static int maxSlavesPerHost( const QString& protocol );
235 
247  static bool determineMimetypeFromExtension( const QString &protocol );
248 
257  static QString docPath( const QString& protocol );
258 
274  static QString protocolClass( const QString& protocol );
275 
286  static bool showFilePreview( const QString& protocol );
287 
304  static QStringList capabilities( const QString& protocol );
305 
315  static QString proxiedBy( const QString& protocol );
316 
317 public:
318  // Internal functions:
322  KProtocolInfo( QDataStream& _str, int offset);
323 
324  virtual ~KProtocolInfo();
325 
326  typedef enum { Name, FromUrl, DisplayName } FileNameUsedForCopying;
327 
329  bool supportsListing() const;
331  QString defaultMimeType() const;
333  QStringList archiveMimeTypes() const;
334 
335 protected:
336  QString m_name;
337  QString m_exec;
338  Type m_inputType;
339  Type m_outputType;
340  QStringList m_listing;
341  bool m_isSourceProtocol;
342  bool m_isHelperProtocol;
343  bool m_supportsListing;
344  bool m_supportsReading;
345  bool m_supportsWriting;
346  bool m_supportsMakeDir;
347  bool m_supportsDeleting;
348  bool m_supportsLinking;
349  bool m_supportsMoving;
350  bool m_supportsOpening;
351  QString m_defaultMimetype;
352  bool m_determineMimetypeFromExtension;
353  QString m_icon;
354  bool m_canCopyFromFile;
355  bool m_canCopyToFile;
356  QString m_config;
357  int m_maxSlaves;
358 
359  bool canRenameFromFile() const;
360  bool canRenameToFile() const;
361  bool canDeleteRecursive() const;
362  FileNameUsedForCopying fileNameUsedForCopying() const;
363 
364 private:
369  KProtocolInfo( const QString & path);
370 
371  Q_DECLARE_PRIVATE(KProtocolInfo)
372 
373  void load(QDataStream &s);
374  static void selectServiceOrHelper(const QString& protocol, KProtocolInfo::Ptr& returnProtocol, KService::Ptr& returnService);
375 
376 };
377 
378 KDECORE_EXPORT QDataStream& operator>>( QDataStream& s, KProtocolInfo::ExtraField& field );
379 KDECORE_EXPORT QDataStream& operator<<( QDataStream& s, const KProtocolInfo::ExtraField& field );
380 
381 #endif
KProtocolInfo::T_NONE
no information about the type available
Definition: kprotocolinfo.h:108
KSharedPtr
Can be used to control the lifetime of an object that has derived QSharedData.
Definition: kconfiggroup.h:38
KProtocolInfo
Information about I/O (Internet, etc.) protocols supported by KDE.
Definition: kprotocolinfo.h:50
KProtocolInfo::m_supportsReading
bool m_supportsReading
Definition: kprotocolinfo.h:344
KProtocolInfo::m_inputType
Type m_inputType
Definition: kprotocolinfo.h:338
kurl.h
KProtocolInfo::ExtraField
Definition of an extra field in the UDS entries, returned by a listDir operation. ...
Definition: kprotocolinfo.h:120
KProtocolInfo::T_FILESYSTEM
structured directory
Definition: kprotocolinfo.h:107
KProtocolInfo::m_supportsMakeDir
bool m_supportsMakeDir
Definition: kprotocolinfo.h:346
QDataStream
KProtocolInfo::m_supportsListing
bool m_supportsListing
Definition: kprotocolinfo.h:343
KProtocolInfo::m_exec
QString m_exec
Definition: kprotocolinfo.h:337
KService
Represent a service, like an application or plugin bound to one or several mimetypes (or servicetypes...
Definition: kservice.h:58
KProtocolInfo::m_canCopyFromFile
bool m_canCopyFromFile
Definition: kprotocolinfo.h:354
KProtocolInfo::List
QList< Ptr > List
Definition: kprotocolinfo.h:57
KProtocolInfo::m_name
QString m_name
Definition: kprotocolinfo.h:336
KProtocolInfo::ExtraField::type
Type type
Definition: kprotocolinfo.h:129
KUrl
Represents and parses a URL.
Definition: kurl.h:111
KGlobal::config
KSharedConfigPtr config()
Returns the general config object.
Definition: kglobal.cpp:139
ksycocatype.h
KProtocolInfo::ExtraField::ExtraField
ExtraField()
Definition: kprotocolinfo.h:124
kglobal.h
KProtocolInfo::m_canCopyToFile
bool m_canCopyToFile
Definition: kprotocolinfo.h:355
KProtocolInfo::m_outputType
Type m_outputType
Definition: kprotocolinfo.h:339
KSycocaEntry
Base class for all Sycoca entries.
Definition: ksycocaentry.h:41
KProtocolInfo::m_isSourceProtocol
bool m_isSourceProtocol
Definition: kprotocolinfo.h:341
KProtocolInfo::Ptr
KSharedPtr< KProtocolInfo > Ptr
Definition: kprotocolinfo.h:56
KProtocolInfo::m_supportsDeleting
bool m_supportsDeleting
Definition: kprotocolinfo.h:347
QString
QList< Ptr >
KProtocolInfoPrivate
Definition: kprotocolinfo_p.h:26
KProtocolInfoFactory
Factory for KProtocolInfo.
Definition: kprotocolinfofactory.h:43
QStringList
kservice.h
ksycocaentry.h
KProtocolInfo::m_determineMimetypeFromExtension
bool m_determineMimetypeFromExtension
Definition: kprotocolinfo.h:352
KProtocolInfo::m_supportsMoving
bool m_supportsMoving
Definition: kprotocolinfo.h:349
KProtocolInfo::m_isHelperProtocol
bool m_isHelperProtocol
Definition: kprotocolinfo.h:342
KProtocolInfo::ExtraFieldList
QList< ExtraField > ExtraFieldList
Definition: kprotocolinfo.h:131
KProtocolInfo::FileNameUsedForCopying
FileNameUsedForCopying
Definition: kprotocolinfo.h:326
KProtocolInfo::ExtraField::Type
Type
Definition: kprotocolinfo.h:122
KProtocolInfo::m_supportsOpening
bool m_supportsOpening
Definition: kprotocolinfo.h:350
KProtocolInfo::ExtraField::ExtraField
ExtraField(const QString &_name, Type _type)
Definition: kprotocolinfo.h:125
KProtocolInfo::m_supportsWriting
bool m_supportsWriting
Definition: kprotocolinfo.h:345
KProtocolInfo::Name
Definition: kprotocolinfo.h:326
KProtocolInfo::m_defaultMimetype
QString m_defaultMimetype
Definition: kprotocolinfo.h:351
KProtocolInfo::m_listing
QStringList m_listing
Definition: kprotocolinfo.h:340
KProtocolInfo::m_supportsLinking
bool m_supportsLinking
Definition: kprotocolinfo.h:348
KProtocolInfo::ExtraField::name
QString name
Definition: kprotocolinfo.h:128
KProtocolInfo::m_icon
QString m_icon
Definition: kprotocolinfo.h:353
KProtocolInfo::m_config
QString m_config
Definition: kprotocolinfo.h:356
KProtocolInfo::Type
Type
Describes the type of a protocol.
Definition: kprotocolinfo.h:106
KProtocolInfo::m_maxSlaves
int m_maxSlaves
Definition: kprotocolinfo.h:357
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:22:11 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KDECore

Skip menu "KDECore"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdelibs API Reference

Skip menu "kdelibs API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal