[weekly report] week 8: mail as a desktop service



Work on the server-side modules has stalled while thinking about an IMAP
parser.  

In the meantime, I have started work on the API for folder lists. 
This code is still very rough, but it's in git.  Most of the work has
been planning.

This is the plan:

Interface org.gnome.Mail.StatusIndication:
  GetStatus "" -> "s" ('offline', 'online', 'busy')
  signal StatusChange "s"

Interface org.gnome.Mail.FolderList:
  signal Added "asus"
  signal Removed "asus"
  signal Changed "asusuu"

  Watch "as"
  Unwatch "as"

  ListFolders "asb" -> "aasb" 
    ((inbox), (archive.facebook)) (fresh / stale)
  ListFoldersWithCounts "asb" -> "a(as(uu))b" 
    ((inbox, (total messages, unseen))) (fresh/stale)
  GetCounts "asb" -> "(uu)b"  
    (total messages, unseen messages) (fresh/stale)

  Boolean flag to indicate whether the user wants 'fast' or 'slow' mode.
'Fast' meaning a nearly immediate return of data as it is cached.
'Slow' would require talking to the server to get up-to-date information
  
  GetFolder "as" -> "o" (Folder)

class org.gnome.Mail.Account:
  implements org.gnome.Mail.FolderList
  implements org.gnome.Mail.StatusIndication

  ForceUpdate "" -> "" Force communication with server
  
Folder names would be represented by a list of the parts in the folder
hierarchy.  "archive.facebook" would be ['archive', 'facebook']

-- 
Ian Marcinkowski
ian desrt ca
Gnome - Mail as a Desktop service
http://blog.marcinkowski.ca




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]