00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef AKONADI_CONTACTSEARCHJOB_H
00023 #define AKONADI_CONTACTSEARCHJOB_H
00024
00025 #include "akonadi-contact_export.h"
00026
00027 #include <akonadi/item.h>
00028 #include <akonadi/itemsearchjob.h>
00029 #include <kabc/addressee.h>
00030
00031 namespace Akonadi {
00032
00079 class AKONADI_CONTACT_EXPORT ContactSearchJob : public ItemSearchJob
00080 {
00081 Q_OBJECT
00082
00083 public:
00089 explicit ContactSearchJob( QObject *parent = 0 );
00090
00094 ~ContactSearchJob();
00095
00099 enum Criterion
00100 {
00101 Name,
00102 Email,
00103 NickName,
00104 NameOrEmail,
00105 ContactUid
00106 };
00107
00113 enum Match
00114 {
00115 ExactMatch,
00116 StartsWithMatch,
00117 ContainsMatch
00118 };
00119
00126 void setQuery( Criterion criterion, const QString &value );
00127
00133 void setQuery( Criterion criterion, const QString &value, Match match );
00134
00144 void setLimit( int limit );
00145
00149 KABC::Addressee::List contacts() const;
00150
00151 private:
00152
00153 class Private;
00154 Private* const d;
00155
00156 };
00157
00158 }
00159
00160 #endif