akonadi
Akonadi::MimeTypeChecker Class Reference
Helper for checking MIME types of Collections and Items. More...
#include <mimetypechecker.h>
Public Member Functions | |
MimeTypeChecker () | |
MimeTypeChecker (const MimeTypeChecker &other) | |
~MimeTypeChecker () | |
void | addWantedMimeType (const QString &mimeType) |
bool | containsWantedMimeType (const QStringList &mimeTypes) const |
bool | isWantedCollection (const Collection &collection) const |
bool | isWantedItem (const Item &item) const |
bool | isWantedMimeType (const QString &mimeType) const |
MimeTypeChecker & | operator= (const MimeTypeChecker &other) |
void | removeWantedMimeType (const QString &mimeType) |
void | setWantedMimeTypes (const QStringList &mimeTypes) |
QStringList | wantedMimeTypes () const |
Static Public Member Functions | |
static bool | isWantedCollection (const Collection &collection, const QString &wantedMimeType) |
static bool | isWantedItem (const Item &item, const QString &wantedMimeType) |
Detailed Description
Helper for checking MIME types of Collections and Items.
When it is necessary to decide whether an item has a certain MIME type or whether a collection can contain a certain MIME type, direct string comparison might not render the desired result because MIME types can have aliases and be a node in an "inheritance" hierachy.
For example a check like this
if ( item.mimeType() == QLatin1String( "text/directory" ) )
would fail to detect "text/x-vcard"
as being the same MIME type.
- Note:
- KDE deals with this inside the KMimeType framework, this class is just a convenience helper for common Akonadi related checks.
Example: Checking whether an Akonadi::Item is contact MIME type
Akonadi::MimeTypeChecker checker; checker.addWantedMimeType( KABC::Addressee::mimeType() ); if ( checker.isWantedItem( item ) ){ // item.mimeType() is equal KABC::Addressee::mimeType(), an aliases // or a sub type. }
Example: Checking whether an Akonadi::Collection could contain calendar items
Akonadi::MimeTypeChecker checker; checker.addWantedMimeType( QLatin1String( "text/calendar" ) ); if ( checker.isWantedCollection( collection ) ) { // collection.contentMimeTypes() contains @c "text/calendar" // or a sub type. }
Example: Checking whether an Akonadi::Collection could contain Calendar Event items (i.e. KCal::Event), making use of the respective MIME type "subclassing" provided by Akonadi's MIME type extensions.
Akonadi::MimeTypeChecker checker; checker.addWantedMimeType( QLatin1String( "application/x-vnd.akonadi.calendar.event" ) ); if ( checker.isWantedCollection( collection ) ) { // collection.contentMimeTypes() contains @c "application/x-vnd.akonadi.calendar.event" // or a sub type, but just containing @c "text/calendar" would not // get here }
Example: Checking for items of more than one MIME type and treat one of them specially.
Akonadi::MimeTypeChecker mimeFilter; mimeFilter.setWantedMimeTypes( QStringList() << KABC::Addressee::mimeType() << KABC::ContactGroup::mimeType() ); if ( mimeFilter.isWantedItem( item ) ) { if ( Akonadi::MimeTypeChecker::isWantedItem( item, KABC::ContactGroup::mimeType() ) { // treat contact group's differently } }
This class is implicitly shared.
- Since:
- 4.3
Definition at line 109 of file mimetypechecker.h.
Constructor & Destructor Documentation
MimeTypeChecker::MimeTypeChecker | ( | ) |
Creates an empty MIME type checker.
An empty checker will not report any items or collections as wanted.
Definition at line 29 of file mimetypechecker.cpp.
MimeTypeChecker::MimeTypeChecker | ( | const MimeTypeChecker & | other | ) |
Creates a new MIME type checker from an other
.
Definition at line 34 of file mimetypechecker.cpp.
MimeTypeChecker::~MimeTypeChecker | ( | ) |
Destroys the MIME type checker.
Definition at line 39 of file mimetypechecker.cpp.
Member Function Documentation
void MimeTypeChecker::addWantedMimeType | ( | const QString & | mimeType | ) |
Adds another MIME type to the list of wanted MIME types this instance checks against.
- Parameters:
-
mimeType The MIME types to add to the checklist.
- See also:
- setWantedMimeTypes()
Definition at line 61 of file mimetypechecker.cpp.
bool MimeTypeChecker::containsWantedMimeType | ( | const QStringList & | mimeTypes | ) | const |
Checks whether any of the given MIME types is covered by one of the wanted MIME types.
- Parameters:
-
mimeTypes The MIME types to check.
- Returns:
true
if any of the MIME types inmimeTypes
is coverd by one of the wanted MIME types,false
otherwise.
- Since:
- 4.6
Definition at line 154 of file mimetypechecker.cpp.
bool MimeTypeChecker::isWantedCollection | ( | const Collection & | collection, |
const QString & | wantedMimeType | ||
) | [static] |
Checks whether a given collection
has the given MIME type.
- Parameters:
-
item The collection to check the content MIME types of. wantedMimeType The MIME type to check against.
- Returns:
true
if one of thecollection
content MIME types is the given wanted one,false
if it isn't, the collection is invalid or has an empty content MIME type list.
- See also:
- setWantedMimeTypes()
- Collection::contentMimeTypes()
Definition at line 122 of file mimetypechecker.cpp.
bool Akonadi::MimeTypeChecker::isWantedCollection | ( | const Collection & | collection | ) | const |
Checks whether a given collection
has one of the wanted MIME types.
- Parameters:
-
collection The collection to check the content MIME types of.
- Returns:
true
if one of thecollection
content MIME types is one of the wanted ones,false
if non is, the collection is invalid or has an empty content MIME type list.
- See also:
- setWantedMimeTypes()
- Collection::contentMimeTypes()
bool MimeTypeChecker::isWantedItem | ( | const Item & | item, |
const QString & | wantedMimeType | ||
) | [static] |
Checks whether a given item
has the given wanted MIME type.
- Parameters:
-
item The item to check the MIME type of. wantedMimeType The MIME type to check against.
- Returns:
true
if theitem
MIME type is the given one,false
if it isn't, the item is invalid or has an empty MIME type.
- See also:
- setWantedMimeTypes()
- Item::mimeType()
Definition at line 103 of file mimetypechecker.cpp.
bool Akonadi::MimeTypeChecker::isWantedItem | ( | const Item & | item | ) | const |
Checks whether a given item
has one of the wanted MIME types.
- Parameters:
-
item The item to check the MIME type of.
- Returns:
true
if theitem
MIME type is one of the wanted ones,false
if it isn't, the item is invalid or has an empty MIME type.
- See also:
- setWantedMimeTypes()
- Item::mimeType()
bool Akonadi::MimeTypeChecker::isWantedMimeType | ( | const QString & | mimeType | ) | const |
Checks whether a given mime type is covered by one of the wanted MIME types.
- Parameters:
-
mimeType The mime type to check.
- Returns:
true
if the mime typemimeType
is coverd by one of the wanted MIME types,false
otherwise.
- Since:
- 4.6
MimeTypeChecker& Akonadi::MimeTypeChecker::operator= | ( | const MimeTypeChecker & | other | ) |
Assigns the other
to this checker and returns a reference to this checker.
void MimeTypeChecker::removeWantedMimeType | ( | const QString & | mimeType | ) |
Removes a MIME type from the list of wanted MIME types this instance checks against.
- Parameters:
-
mimeType The MIME type to remove from the checklist.
- See also:
- addWantedMimeType()
Definition at line 66 of file mimetypechecker.cpp.
void MimeTypeChecker::setWantedMimeTypes | ( | const QStringList & | mimeTypes | ) |
Sets the list of wanted MIME types this instance checks against.
- Parameters:
-
mimeTypes The list of MIME types to check against.
- See also:
- wantedMimeTypes()
Definition at line 56 of file mimetypechecker.cpp.
QStringList MimeTypeChecker::wantedMimeTypes | ( | ) | const |
Returns the list of wanted MIME types this instance checks against.
- See also:
- setWantedMimeTypes()
Definition at line 51 of file mimetypechecker.cpp.
The documentation for this class was generated from the following files: