The different parts of the codebase are very tightly coupled. The goal
of this patchset is to start decoupling maiboxes of the rest of the
application. To do so, a new structure mx_ops is introduced to define
operations that a mailbox should implement in order to work with the
rest of mutt. For now, it has only 2 callbacks: open, and close, which
are pretty self-explanatory.

Changes in v3:
 - Moved each struct mx_ops definition to end of file
 - Added struct mx_ops declaration in headers
 - At the end of the serie, remove open function declarations from
   headers and make them static
 - As of v2, this serie is rebased onto tip and use MUTT_* symbols
   instead of M_* (in mx_get_ops)

Changes in v2:
 - Addressed styling issues
 - Got rid of the probing logic. For now, we still rely on a switch case
   to retrieve the correct mx_ops. So, one switch case was remove and
   another one was added, but as more functions will be added in the
   struct mx_ops, we will get rid of more {switch,if}(ctx->magic). This
   is only the first step!
 - Removed patches that changed mx_fastclose_mailbox
 - Folded similar patches into larger commits

Thanks,
-- 
Damien

Reply via email to