Mailbox constructor

Mailbox({
  1. required String encodedName,
  2. required String encodedPath,
  3. required List<MailboxFlag> flags,
  4. required String pathSeparator,
  5. bool isReadWrite = false,
  6. int messagesRecent = 0,
  7. int messagesExists = 0,
  8. int messagesUnseen = 0,
  9. int? highestModSequence,
  10. int? firstUnseenMessageSequenceId,
  11. int? uidNext,
  12. int? uidValidity,
  13. List<String> messageFlags = const [],
  14. List<String> permanentMessageFlags = const [],
  15. Map<String, List<String>> extendedData = const {},
})

Creates a new Mailbox

Implementation

Mailbox({
  required this.encodedName,
  required this.encodedPath,
  required this.flags,
  required this.pathSeparator,
  this.isReadWrite = false,
  this.messagesRecent = 0,
  this.messagesExists = 0,
  this.messagesUnseen = 0,
  this.highestModSequence,
  this.firstUnseenMessageSequenceId,
  this.uidNext,
  this.uidValidity,
  this.messageFlags = const [],
  this.permanentMessageFlags = const [],
  this.extendedData = const {},
})  : name = _modifiedUtf7Codec.decodeText(encodedName),
      path = _modifiedUtf7Codec.decodeText(encodedPath) {
  if (!isInbox && name.toLowerCase() == 'inbox') {
    flags.add(MailboxFlag.inbox);
  }
}