akonadi
Akonadi::MimeTypeChecker Class Reference
Helper for checking MIME types of Collections and Items. More...
#include <mimetypechecker.h>
Public Member Functions | |
void | addWantedMimeType (const QString &mimeType) |
bool | isWantedCollection (const Collection &collection) const |
bool | isWantedItem (const Item &item) const |
MimeTypeChecker (const MimeTypeChecker &other) | |
MimeTypeChecker () | |
MimeTypeChecker & | operator= (const MimeTypeChecker &other) |
void | removeWantedMimeType (const QString &mimeType) |
void | setWantedMimeTypes (const QStringList &mimeTypes) |
QStringList | wantedMimeTypes () const |
~MimeTypeChecker () | |
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::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.
Definition at line 122 of file mimetypechecker.cpp.
bool MimeTypeChecker::isWantedCollection | ( | const Collection & | collection | ) | const |
Checks whether a given collection
has one of the wanted MIME types.
- Parameters:
-
item 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.
Definition at line 83 of file mimetypechecker.cpp.
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 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()
Definition at line 71 of file mimetypechecker.cpp.
MimeTypeChecker & MimeTypeChecker::operator= | ( | const MimeTypeChecker & | other | ) |
Assigns the other
to this checker and returns a reference to this checker.
Definition at line 43 of file mimetypechecker.cpp.
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: