koQueryTrader.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __ko_query_trader_h__
00021 #define __ko_query_trader_h__
00022
00023 #include <kservice.h>
00024 #include <ksharedptr.h>
00025 #include <qvaluelist.h>
00026
00027 class QObject;
00028 class QStringList;
00029 class KoDocument;
00030 class KoFilter;
00031 class KoFilterChain;
00032
00037 class KoDocumentEntry
00038 {
00039
00040 public:
00041 KoDocumentEntry() { m_service = 0L; }
00042 KoDocumentEntry( KService::Ptr service );
00043 ~KoDocumentEntry() { }
00044
00045 KService::Ptr service() const { return m_service; }
00046
00050 bool isEmpty() const { return m_service == 0L; }
00051
00055 QString name() const { return m_service->name(); }
00056
00060 QStringList mimeTypes() const { return m_service->serviceTypes(); }
00061
00065 bool supportsMimeType( const QString & _mimetype ) const
00066 { return mimeTypes().contains( _mimetype ); }
00067
00072 KoDocument* createDoc( KoDocument* parent = 0, const char* name = 0 ) const;
00073
00082 static QValueList<KoDocumentEntry> query( const QString & _constr = QString::null );
00083
00095
00096 static QValueList<KoDocumentEntry> query( bool _onlyDocEmb,const QString& _constr);
00097
00098
00099
00100
00101
00108 static KoDocumentEntry queryByMimeType( const QString & mimetype );
00109
00110 private:
00111 KService::Ptr m_service;
00112 };
00113
00117 class KoFilterEntry : public KShared
00118 {
00119
00120 public:
00121 typedef KSharedPtr<KoFilterEntry> Ptr;
00122
00123 KoFilterEntry() : weight( 0 ) { m_service = 0L; }
00124 KoFilterEntry( KService::Ptr service );
00125 ~KoFilterEntry() { }
00126
00127 KoFilter* createFilter( KoFilterChain* chain, QObject* parent = 0, const char* name = 0 );
00128
00132 QStringList import;
00133
00137 QStringList export_;
00138
00142 unsigned int weight;
00143
00147 QString available;
00148
00152 bool imports( const QString& _mimetype ) const
00153 { return ( import.contains( _mimetype ) ); }
00154
00158 bool exports( const QString& _m ) const
00159 { return ( export_.contains( _m ) ); }
00160
00168 static QValueList<KoFilterEntry::Ptr> query( const QString& _constr = QString::null );
00169
00170 KService::Ptr service() const { return m_service; }
00171
00172 private:
00173 KService::Ptr m_service;
00174 };
00175
00176 #endif
This file is part of the documentation for lib Library Version 1.3.5.