aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/imap/MCIMAPSearchExpression.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/imap/MCIMAPSearchExpression.h')
-rw-r--r--src/core/imap/MCIMAPSearchExpression.h45
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