Update of /cvsroot/mahogany/M/include
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23963/include

Modified Files:
        MailFolder.h MailFolderCC.h 
Log Message:
added GetLogicalMailboxName() for dual use folders

Index: MailFolder.h
===================================================================
RCS file: /cvsroot/mahogany/M/include/MailFolder.h,v
retrieving revision 1.199
retrieving revision 1.200
diff -b -u -2 -r1.199 -r1.200
--- MailFolder.h        30 Jun 2005 23:39:45 -0000      1.199
+++ MailFolder.h        1 Jul 2005 18:04:09 -0000       1.200
@@ -212,7 +212,4 @@
    //@}
 
-   /** @name Static functions, implemented in MailFolder.cpp */
-   //@{
-
    /** @name Opening folders */
    //@{
@@ -382,5 +379,5 @@
 
    /**
-     @name Subscription management
+     @name Mailbox management
     */
    //@{
@@ -416,6 +413,7 @@
                             UserData ud = 0,
                             Ticket ticket = ILLEGAL_TICKET) = 0;
+
    //@}
-   //@}
+
 
    /** @name Accessors */
@@ -498,4 +496,27 @@
    static char GetFolderDelimiter(const MFolder *folder);
 
+   /**
+      Get the logical mailbox name (as opposed to the physical one).
+
+      Usually these 2 names are the same and they're only ever different for
+      dual use mailboxes when the underlying driver doesn't support them. Dual
+      use mailboxes are those which contain both messages and other mailboxes
+      and are very convenient but not always directly supported (notorious
+      example is MB(O)X format which represents each mailbox as a file and as a
+      file can't be both a regular file and a subdirectory, it can contain
+      either only messages or only other mailboxes but not both).
+
+      If the dual use mailboxes are not supported directly, we emulate them
+      using the following simple schema: for a dual use mailbox "foo" we use 2
+      physical mailboxes: "foo" containing the subfolders and "foo.messages"
+      containing the messages. This functions returns the logical name "foo"
+      given either "foo" (i.e. normal situation) or "foo.messages".
+
+      @param name the physical name of the mailbox
+      @return the logical name of the mailbox with the given name (*not* of
+              this one!)
+    */
+   virtual String GetLogicalMailboxName(const String& name) { return name; }
+
    //@}
 

Index: MailFolderCC.h
===================================================================
RCS file: /cvsroot/mahogany/M/include/MailFolderCC.h,v
retrieving revision 1.223
retrieving revision 1.224
diff -b -u -2 -r1.223 -r1.224
--- MailFolderCC.h      1 Jul 2005 15:01:14 -0000       1.223
+++ MailFolderCC.h      1 Jul 2005 18:04:10 -0000       1.224
@@ -218,4 +218,5 @@
 
    virtual char GetFolderDelimiter() const;
+   virtual String GetLogicalMailboxName(const String& name);
 
    /// return TRUE if CClient lib had been initialized



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Mahogany-cvsupdates mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mahogany-cvsupdates

Reply via email to