Re: RFC mailbox interface



On 2001.11.19 13:21 M . Thielker wrote:
> On 2001.11.19 10:44 Kenneth Haley wrote:
>> Balsa creates the vfolder and populates it with 
>> vfolder->copyMessage(src).  This copies the src pointer into the 
>> vfolders message list and adds the vfolder to the list in each 
>> Message.  Just to be clear there is only one copy of the Message 
>> structure in memory with 2 or more folders referncing it.  Now the fun 
>> part.
>> If the user deletes the vfolder entry then the message is only removed 
>> from the vfolder.  Balsa has to use its own Folder* here.
>> if the user selects delete all on the vfolder or deletes the source 
>> Message then balsa has to walk the vfolder list in the Message deleting 
>> it from each one and then delete the source message.
> 
> Well, that's in fact contrary to my original thought. I wanted the 
> VFolder to actually store a copy of the message. When the original 
> message is deleted, the one in the VFolder should _not_ go away, it 
> should remain and stay fully usable until the VFolder is closed or the 
> message is explicitly deleted from it. In my opinion, VFolders should 
> _not_ store references, but _actual_ messages. The message in a VFolder 
> should, in my opinion, be seen as a separate entity from the one in the 
> source folder. Of course the same message structure is referenced in 
> memory, to increase efficiency and conserve space, but once it's linked 
> into the VFolder, it has a life of it's own and is no longer related to 
> the source message.

This implementation would require downloading all the messages in the 
VFolder (so they are available even when removed from original mailboxes) 
which is hardly one would like to do.

I think is is better to keep it more like views in database: when data is 
removed from table, it is removed from the view as well. One can always 
make views persistent, but only on request.

/Pawel
-- 
Pawel Salek, Theoretical Chemistry, SCFAB, Stockholm
http://www.theochem.kth.se/~pawsa/



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