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 <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 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
 
This file is part of the documentation for kabc Library Version 3.2.0.