• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • kio/kio
 

kio/kio

  • kio
  • kio
kurifilter.h
1 /*
2  * This file is part of the KDE libraries
3  * Copyright (C) 2000-2001,2003 Dawit Alemayehu <adawit at kde.org>
4  *
5  * Original author
6  * Copyright (C) 2000 Yves Arrouye <yves@realnames.com>
7  *
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Library General Public
11  * License as published by the Free Software Foundation; either
12  * version 2 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Library General Public License for more details.
18  *
19  * You should have received a copy of the GNU Library General Public License
20  * along with this library; see the file COPYING.LIB. If not, write to
21  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22  * Boston, MA 02110-1301, USA.
23  **/
24 
25 #ifndef __kurifilter_h__
26 #define __kurifilter_h__
27 
28 #include <tqptrlist.h>
29 #include <tqobject.h>
30 #include <tqstringlist.h>
31 
32 #include <kurl.h>
33 
34 #ifdef Q_OS_WIN
35 #undef ERROR
36 #endif
37 
38 class KURIFilterPrivate;
39 class KURIFilterDataPrivate;
40 
41 class KCModule;
42 
78 class KIO_EXPORT KURIFilterData
79 {
80 friend class KURIFilterPlugin;
81 
82 public:
99  enum URITypes { NET_PROTOCOL=0, LOCAL_FILE, LOCAL_DIR, EXECUTABLE, HELP, SHELL, BLOCKED, ERROR, UNKNOWN };
100 
106  KURIFilterData() { init(); }
107 
113  KURIFilterData( const KURL& url ) { init( url); }
114 
120  KURIFilterData( const TQString& url ) { init( url ); }
121 
130  KURIFilterData( const KURIFilterData& data);
131 
135  ~KURIFilterData();
136 
144  KDE_DEPRECATED bool hasBeenFiltered() const { return true; }
145 
156  KURL uri() const { return m_pURI; }
157 
168  TQString errorMsg() const { return m_strErrMsg; }
169 
177  URITypes uriType() const { return m_iType; }
178 
188  void setData( const TQString& url ) { reinit( url ); }
189 
199  void setData( const KURL& url ) { reinit( url ); }
200 
215  bool setAbsolutePath( const TQString& abs_path );
216 
222  TQString absolutePath() const;
223 
229  bool hasAbsolutePath() const;
230 
237  TQString argsAndOptions() const;
238 
244  bool hasArgsAndOptions() const;
245 
257  TQString iconName();
258 
269  void setCheckForExecutables (bool check);
270 
277  bool checkForExecutables() const { return m_bCheckForExecutables; }
278 
283  TQString typedString() const;
284 
293  KURIFilterData& operator=( const KURL& url ) { reinit( url ); return *this; }
294 
303  KURIFilterData& operator=( const TQString& url ) { reinit( url ); return *this; }
304 
305 protected:
306 
311  void init( const KURL& url);
312 
317  void init( const TQString& url = TQString::null );
318 
319 private:
320 
321  // BC hack to avoid leaking KURIFilterDataPrivate objects.
322  // setData() and operator= used to call init() without deleting `d'
323  void reinit(const KURL& url);
324  void reinit(const TQString& url = TQString::null);
325 
326  bool m_bCheckForExecutables;
327  bool m_bChanged;
328 
329  TQString m_strErrMsg;
330  TQString m_strIconName;
331 
332  KURL m_pURI;
333  URITypes m_iType;
334  KURIFilterDataPrivate *d;
335 };
336 
337 
350 class KIO_EXPORT KURIFilterPlugin : public TQObject
351 {
352  Q_OBJECT
353  TQ_OBJECT
354 
355 public:
356 
365  KURIFilterPlugin( TQObject *parent = 0, const char *name = 0, double pri = 1.0 );
366 
372  virtual TQString name() const { return m_strName; }
373 
382  virtual double priority() const { return m_dblPriority; }
383 
390  virtual bool filterURI( KURIFilterData& data ) const = 0;
391 
400  virtual KCModule *configModule( TQWidget*, const char* ) const { return 0; }
401 
407  virtual TQString configName() const { return name(); }
408 
409 protected:
410 
414  void setFilteredURI ( KURIFilterData& data, const KURL& uri ) const;
415 
419  void setErrorMsg ( KURIFilterData& data, const TQString& errmsg ) const {
420  data.m_strErrMsg = errmsg;
421  }
422 
426  void setURIType ( KURIFilterData& data, KURIFilterData::URITypes type) const {
427  data.m_iType = type;
428  data.m_bChanged = true;
429  }
430 
435  void setArguments( KURIFilterData& data, const TQString& args ) const;
436 
437  TQString m_strName;
438  double m_dblPriority;
439 
440 protected:
441  virtual void virtual_hook( int id, void* data );
442 private:
443  class KURIFilterPluginPrivate *d;
444 };
445 
446 
450 class KIO_EXPORT KURIFilterPluginList : public TQPtrList<KURIFilterPlugin>
451 {
452 public:
453  virtual int compareItems(Item a, Item b)
454  {
455  double diff = ((KURIFilterPlugin *) a)->priority() - ((KURIFilterPlugin *) b)->priority();
456  return diff < 0 ? -1 : (diff > 0 ? 1 : 0);
457  }
458 
459 private:
460  KURIFilterPrivate *d;
461 
462 };
463 
535 class KIO_EXPORT KURIFilter
536 {
537 public:
541  ~KURIFilter ();
542 
546  static KURIFilter* self();
547 
559  bool filterURI( KURIFilterData& data, const TQStringList& filters = TQStringList() );
560 
572  bool filterURI( KURL &uri, const TQStringList& filters = TQStringList() );
573 
585  bool filterURI( TQString &uri, const TQStringList& filters = TQStringList() );
586 
598  KURL filteredURI( const KURL &uri, const TQStringList& filters = TQStringList() );
599 
611  TQString filteredURI( const TQString &uri, const TQStringList& filters = TQStringList() );
612 
619  TQPtrListIterator<KURIFilterPlugin> pluginsIterator() const;
620 
627  TQStringList pluginNames() const;
628 
629 protected:
630 
638  KURIFilter();
639 
646  void loadPlugins();
647 
648 private:
649  static KURIFilter *s_self;
650  KURIFilterPluginList m_lstPlugins;
651  KURIFilterPrivate *d;
652 };
653 
654 #endif
KURIFilterData::operator=
KURIFilterData & operator=(const KURL &url)
Overloaded assigenment operator.
Definition: kurifilter.h:293
KURIFilterPluginList
A list of filter plugins.
Definition: kurifilter.h:450
KURIFilterData::KURIFilterData
KURIFilterData()
Default constructor.
Definition: kurifilter.h:106
KURIFilterPlugin::name
virtual TQString name() const
Returns the filter's name.
Definition: kurifilter.h:372
KURIFilterData::uriType
URITypes uriType() const
Returns the URI type.
Definition: kurifilter.h:177
KURIFilterData::hasBeenFiltered
KDE_DEPRECATED bool hasBeenFiltered() const
This method has been deprecated and will always return true.
Definition: kurifilter.h:144
KURIFilterData::uri
KURL uri() const
Returns the filtered or the original URL.
Definition: kurifilter.h:156
KURIFilterData::errorMsg
TQString errorMsg() const
Returns an error message.
Definition: kurifilter.h:168
KURIFilterData::operator=
KURIFilterData & operator=(const TQString &url)
Overloaded assigenment operator.
Definition: kurifilter.h:303
KURIFilterPlugin::setURIType
void setURIType(KURIFilterData &data, KURIFilterData::URITypes type) const
Sets the URI type in data to type.
Definition: kurifilter.h:426
KURIFilterPlugin::setErrorMsg
void setErrorMsg(KURIFilterData &data, const TQString &errmsg) const
Sets the error message in data to errormsg.
Definition: kurifilter.h:419
KURIFilterData
A basic message object used for exchanging filtering information between the filter plugins and the a...
Definition: kurifilter.h:78
KURIFilterPlugin::priority
virtual double priority() const
Returns the filter's priority.
Definition: kurifilter.h:382
KURIFilter
Manages the filtering of URIs.
Definition: kurifilter.h:535
KURIFilterData::checkForExecutables
bool checkForExecutables() const
Definition: kurifilter.h:277
KURIFilterData::setData
void setData(const KURL &url)
Same as above except the argument is a URL.
Definition: kurifilter.h:199
KURIFilterPlugin::configName
virtual TQString configName() const
Returns the name of the configuration module for the filter.
Definition: kurifilter.h:407
KURIFilterData::KURIFilterData
KURIFilterData(const TQString &url)
Creates a URIFilterData object from the given string.
Definition: kurifilter.h:120
KURIFilterData::URITypes
URITypes
Describes the type of the URI that was filtered.
Definition: kurifilter.h:99
KURIFilterPlugin::configModule
virtual KCModule * configModule(TQWidget *, const char *) const
Creates a configuration module for the filter.
Definition: kurifilter.h:400
KURIFilterPlugin
Base class for URI filter plugins.
Definition: kurifilter.h:350
KURIFilterData::KURIFilterData
KURIFilterData(const KURL &url)
Creates a URIFilterData object from the given URL.
Definition: kurifilter.h:113
KURIFilterData::setData
void setData(const TQString &url)
Sets the URL to be filtered.
Definition: kurifilter.h:188

kio/kio

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

kio/kio

Skip menu "kio/kio"
  • arts
  • dcop
  • dnssd
  • interfaces
  •     interface
  •     library
  •   kspeech
  •   ktexteditor
  • kabc
  • kate
  • kcmshell
  • kdecore
  • kded
  • kdefx
  • kdeprint
  • kdesu
  • kdeui
  • kdoctools
  • khtml
  • kimgio
  • kinit
  • kio
  •   bookmarks
  •   httpfilter
  •   kfile
  •   kio
  •   kioexec
  •   kpasswdserver
  •   kssl
  • kioslave
  •   http
  • kjs
  • kmdi
  •   kmdi
  • knewstuff
  • kparts
  • krandr
  • kresources
  • kspell2
  • kunittest
  • kutils
  • kwallet
  • libkmid
  • libkscreensaver
Generated for kio/kio by doxygen 1.8.6
This website is maintained by Timothy Pearson.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. |