summaryrefslogtreecommitdiff
path: root/src/de.jmhoffmann.jwebmail.mail-storage.varlink
diff options
context:
space:
mode:
Diffstat (limited to 'src/de.jmhoffmann.jwebmail.mail-storage.varlink')
-rw-r--r--src/de.jmhoffmann.jwebmail.mail-storage.varlink31
1 files changed, 30 insertions, 1 deletions
diff --git a/src/de.jmhoffmann.jwebmail.mail-storage.varlink b/src/de.jmhoffmann.jwebmail.mail-storage.varlink
index f61f624..206c3df 100644
--- a/src/de.jmhoffmann.jwebmail.mail-storage.varlink
+++ b/src/de.jmhoffmann.jwebmail.mail-storage.varlink
@@ -60,22 +60,51 @@ type MIMEPart (
type Sort (
direction: (asc, desc),
- parameter: (date, size, sender)
+ parameter: (date, size, sender, subject)
+)
+
+type Bound (
+ param: string,
+ id: string
)
method Init(unix_user: string, mailbox_path: string) -> ()
+
+# deprecated: use ListSearch instead
method List(folder: string, start: int, end: int, sort: Sort) -> (mail_heads: []ListMailHeader)
+
method Stats(folder: string) -> (mail_count: int, unread_count: int, byte_size: int)
+
method Show(folder: string, mid: string) -> (mail: Mail)
+
# body is base64 encoded
method Raw(folder: string, mid: string, path: ?string) -> (header: MIMEHeader, body: string)
+
+# deprecated: use ListSearch instead
method Search(folder: string, pattern: string) -> (found: []ListMailHeader)
+
method Folders() -> (folders: []string)
+
method Move(mid: string, from_folder: string, to_folder: string) -> ()
+
method Remove(folder: string, mid: string) -> ()
+
method AddFolder(name: string) -> (status: (created, skiped))
+method ListSearch(
+ folder: string,
+ bound: ?Bound,
+ direction: (after, before),
+ limit: int,
+ sort: Sort,
+ search: ?string
+) -> (
+ mail_heads: []ListMailHeader,
+ first: bool,
+ last: bool
+)
+
error NotInitialized()
error InvalidFolder(folder: string)