On 01/28/11 03:49, Krishna Somisetty wrote: > Currently, i am studying and once i complete this i will list down > the requirements and will keep you in loop.
Cool; you might want to subscribe to the trojita mailing list (send a message to [email protected]) and then move the conversation to that list, [email protected]. More people would see the conversation and be able to help. I'm CCing this message to that list, too. > As you have replied to email let me confirm one more thing according > to tasks. > > The model has a list of parsers, and when it creates a task it will > loan the parser for temporary usage. Once the task is complete, the > parser is taken back. The parser uses tokens to distinguish its > discussion with imap server differntiated from other parsers > discussion. > > Right? Nope. Follow the description in the thesis, the only difference with Tasks is that the IMAP commands are not sent directly by the Model class, but the Model somehow "delegates" the task (like fetching a message part, setting some message flags, creating a connection, syncing a mailbox,...) to an instance of ImapTask. A subclass of ImapTask will then typically ask the Model for a synchronized connection to a mailbox and then perform whatever has to be done, talking to the Parser. You're correct in that a Model maintains a list of Parsers (Parser == connection to an IMAP server wrapped in some code which converts a stream of bytes into structured responses and which can be commanded by IMAP commands from the code, convert them to a string and send them via the said stream to the server), and the Tasks usually need a Parser in order to work. The whole "tokens" thing is, however, an internal implementation detail of the Parser. All these details should, however, be important for you if and only if you want to hack on pretty low-level IMAP stuff, and doing that would require a really detailed knowledge of the relevant RFCs. If you'd like to modify the GUI or create your own version of that, you shouldn't have to deal with the IMAP classes at all; all you need to use are various implementations of Qt's QAbstractItemModel interface. See src/Gui/Window.cpp for how the app actually uses something like four classes from the src/Imap subdirectory. Have fun, Jan -- cd /local/pub && more beer > /dev/mouth
signature.asc
Description: OpenPGP digital signature
