diff options
Diffstat (limited to 'src/core/imap/MCIMAPSearchExpression.h')
-rw-r--r-- | src/core/imap/MCIMAPSearchExpression.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/core/imap/MCIMAPSearchExpression.h b/src/core/imap/MCIMAPSearchExpression.h new file mode 100644 index 00000000..53a373cd --- /dev/null +++ b/src/core/imap/MCIMAPSearchExpression.h @@ -0,0 +1,45 @@ +#ifndef __MAILCORE_MCIMAPSEARCHEXPRESSION_H_ + +#define __MAILCORE_MCIMAPSEARCHEXPRESSION_H_ + +#include <mailcore/MCBaseTypes.h> +#include <mailcore/MCMessageConstants.h> + +namespace mailcore { + + class IMAPSearchExpression : Object { + private: + IMAPSearchKind mKind; + String * mHeader; + String * mValue; + IMAPSearchExpression * mLeftExpression; + IMAPSearchExpression * mRightExpression; + void init(); + + public: + IMAPSearchExpression(); + IMAPSearchExpression(IMAPSearchExpression * other); + virtual ~IMAPSearchExpression(); + + virtual String * description(); + //virtual String * className(); + virtual Object * copy(); + + virtual IMAPSearchKind kind(); + virtual String * header(); + virtual String * value(); + virtual IMAPSearchExpression * leftExpression(); + virtual IMAPSearchExpression * rightExpression(); + + static IMAPSearchExpression * searchFrom(String * value); + static IMAPSearchExpression * searchRecipient(String * value); + static IMAPSearchExpression * searchSubject(String * value); + static IMAPSearchExpression * searchContent(String * value); + static IMAPSearchExpression * searchHeader(String * header, String * value); + static IMAPSearchExpression * searchAnd(IMAPSearchExpression * left, IMAPSearchExpression * right); + static IMAPSearchExpression * searchOr(IMAPSearchExpression * left, IMAPSearchExpression * right); + }; + +} + +#endif |