-(defun elmo-dop-queue-flush (&optional force)
- "Flush disconnected operations.
-If optional argument FORCE is non-nil, try flushing all operation queues
-even an operation concerns the unplugged folder."
+(defvar elmo-dop-queue-merge-method-list
+ '(elmo-folder-mark-as-read
+ elmo-folder-unmark-read
+ elmo-folder-mark-as-important
+ elmo-folder-unmark-important
+ elmo-folder-mark-as-answered
+ elmo-folder-unmark-answered))
+
+(defvar elmo-dop-queue-method-name-alist
+ '((elmo-folder-append-buffer-dop-delayed . "Append")
+ (elmo-folder-delete-messages-dop-delayed . "Delete")
+ (elmo-message-encache . "Encache")
+ (elmo-folder-create-dop-delayed . "Create")
+ (elmo-folder-mark-as-read . "Read")
+ (elmo-folder-unmark-read . "Unread")
+ (elmo-folder-mark-as-answered . "Answered")
+ (elmo-folder-unmark-answered . "Unanswered")
+ (elmo-folder-mark-as-important . "Important")
+ (elmo-folder-unmark-important . "Unimportant")))
+
+(defmacro elmo-dop-queue-method-name (queue)
+ `(cdr (assq (elmo-dop-queue-method ,queue)
+ elmo-dop-queue-method-name-alist)))
+
+(defun elmo-dop-queue-flush ()
+ "Flush disconnected operations that consern plugged folders."
+ ;; obsolete
+ (unless (or (null elmo-dop-queue)
+ (vectorp (car elmo-dop-queue)))
+ (if (y-or-n-p "\
+Saved queue is old version(2.6). Clear all pending operations? ")
+ (progn
+ (setq elmo-dop-queue nil)
+ (message "All pending operations are cleared.")
+ (elmo-dop-queue-save))
+ (error "Please use 2.6 or earlier.")))