kabc
formatfactory.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KABC_FORMATFACTORY_H
00022 #define KABC_FORMATFACTORY_H
00023
00024 #include <QtCore/QHash>
00025 #include <QtCore/QString>
00026
00027 #include <kconfig.h>
00028 #include <klibloader.h>
00029
00030 #include "format.h"
00031
00032 namespace KABC {
00033
00039 struct FormatInfo
00040 {
00046 bool isNull() const { return library.isEmpty(); }
00047
00056 QString library;
00057
00066 QString nameLabel;
00067
00076 QString descriptionLabel;
00077 };
00078
00095 class KABC_EXPORT FormatFactory
00096 {
00097 public:
00101 ~FormatFactory();
00102
00106 static FormatFactory *self();
00107
00116 Format *format( const QString &type );
00117
00121 QStringList formats();
00122
00130 FormatInfo info( const QString &type ) const;
00131
00132 protected:
00133 FormatFactory();
00134
00135 private:
00136 class Private;
00137 Private *const d;
00138 };
00139
00140 }
00141 #endif