KMIME Library
Go to the documentation of this file.
42 using namespace KMime;
48 class KMime::HeaderFactoryPrivate
51 HeaderFactoryPrivate();
52 ~HeaderFactoryPrivate();
55 QHash<QByteArray, HeaderMakerBase*> headerMakers;
58 K_GLOBAL_STATIC( HeaderFactoryPrivate, sInstance )
60 HeaderFactoryPrivate::HeaderFactoryPrivate()
65 HeaderFactoryPrivate::~HeaderFactoryPrivate()
67 qDeleteAll( headerMakers );
75 return sInstance->instance;
78 Headers::Base *HeaderFactory::createHeader(
const QByteArray &type )
80 Q_ASSERT( !type.isEmpty() );
81 const HeaderMakerBase *maker = d->headerMakers.value( type.toLower() );
83 return maker->create();
91 HeaderFactory::HeaderFactory( HeaderFactoryPrivate *dd )
96 HeaderFactory::~HeaderFactory()
100 bool HeaderFactory::registerHeaderMaker(
const QByteArray &type, HeaderMakerBase *maker )
102 if ( type.isEmpty() ) {
105 kWarning() <<
"Tried to register header with empty type.";
108 const QByteArray ltype = type.toLower();
109 if ( d->headerMakers.contains( ltype ) ) {
110 kWarning() <<
"Header of type" << type <<
"already registered.";
114 d->headerMakers.insert( ltype, maker );
This file is part of the KDE documentation.
Documentation copyright © 1996-2013 The KDE developers.
Generated on Sat Jul 13 2013 01:25:45 by
doxygen 1.8.3.1 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.