formatfactory.h00001
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 <qdict.h>
00025 #include <qstring.h>
00026
00027 #include <kconfig.h>
00028 #include <klibloader.h>
00029
00030 #include "formatplugin.h"
00031
00032 namespace KABC {
00033
00034 struct FormatInfo
00035 {
00036 QString library;
00037 QString nameLabel;
00038 QString descriptionLabel;
00039 };
00040
00057 class KABC_EXPORT FormatFactory
00058 {
00059 public:
00060
00064 ~FormatFactory();
00065
00069 static FormatFactory *self();
00070
00077 FormatPlugin *format( const QString &type );
00078
00082 QStringList formats();
00083
00087 FormatInfo *info( const QString &type );
00088
00089 protected:
00090 FormatFactory();
00091
00092 private:
00093 KLibrary *openLibrary( const QString& libName );
00094
00095 static FormatFactory *mSelf;
00096
00097 QDict<FormatInfo> mFormatList;
00098 };
00099
00100 }
00101 #endif
|