Inherits Garbage. Inherited by ImapSession.
This class contains all data associated with the single use of a Mailbox, such as the number of messages visible, etc. Subclasses provide some protocol-specific actions.
Creates a new Session for the Mailbox m tied to Connection c. If readOnly is true, the session is read-only.
Aborts this Session. The default implementation disconnects the client, subclasses may be more subtle.
Marks the message uid as "\Recent" in this session.
Marks num messages with uid starting at start as "\Recent" in this session.
Records that the messages in s have been added to the mailbox or changed, and should be announced to the client and if necessary added to the session.
Records that uid has been added to the mailbox or changed, and should be announced to the client and if necessary added to the session.
Returns true only if this session knows that its user has the right r. If the session does not know, or the user doesn't have the right, it returns false.
Records that the client has been told that uid no longer exists.
This is IMAP stuff infesting Session.
Records that everything in unannounced() has been announced.
Returns a pointer to the Connection served by this Session.
Returns the number of messages visible in this session.
This virtual function is responsible for telling the client about any updates it need to hear. If t is non-null and any database work is needed, it should use a subtransaction of t.
Ensures that the Mailbox will not keep this object alive.
Records that uids has been expunged and that the clients should be told about it at the earliest possible moment.
Returns a message set containing all the UIDs that have been expunged in the database, but not yet reported to the client.
Returns true if this Session has updated itself from the database.
Returns true if this session is known to contain no messages (ie. both messages() and unannounced() return empty sets), and true if the mailbox is nonempty or its count is not known.
Returns true only if the message uid is marked as "\Recent" in this session.
Returns the UID of the highest-numbered message, or uidnext()-1 if the mailbox is empty, or 1 if uidnext() is 1.
Returns a pointer to the currently selected Mailbox, or 0 if there isn't one.
Returns a message set containing all the messages that are currently valid in this session. This may include expunged messages.
Returns the MSN of the message with UID uid, or 0 if there is no such message.
Returns what setNextModSeq() set. The initial value is 0.
Returns a pointer to the Permissions object owned by this session, or 0 if none has been created (by Select). This object is ready to answer queries (with allows()) because Select waited for it to be.
Returns true if this is a read-only session (as created by EXAMINE), and false otherwise (SELECT).
Returns a IntegerSet containing all messages marked "\Recent" in this session.
Does whatever is necessary to tell the client about new flags. This is really a hack for ImapSession.
Records that the next possible modseq for a message in this session is ms or higher.
Sets the Permissions object for this session to p. Used only by Select. Session assumes that p is Permissions::ready().
Sets our uidnext value to u. Used only by the SessionInitialiser.
Returns the UID of the message with MSN msn, or 0 if there is no such message.
Returns the next UID to be used in this session. This is the same as Mailbox::uidnext() most of the time. It can lag behind if the Mailbox has changed and this session hasn't issued the corresponding untagged EXISTS and UIDNEXT responses.
Returns the uidvalidity of the mailbox. For the moment, this is always the same as Mailbox::uidvalidity(), and both are always 1.
Returns whatever has been set using addUnannounced() and not yet cleared by clearUnannounced().
Exists to satisfy g++.
This web page based on source code belonging to The Archiveopteryx Developers. All rights reserved.