| 1669 | } |
| 1670 | |
| 1671 | void IMAPSession::subscribeFolder(String * folder, ErrorCode * pError) |
| 1672 | { |
| 1673 | int r; |
| 1674 | |
| 1675 | selectIfNeeded(MCSTR("INBOX"), pError); |
| 1676 | if (* pError != ErrorNone) |
| 1677 | return; |
| 1678 | |
| 1679 | r = mailimap_subscribe(mImap, MCUTF8(folder)); |
| 1680 | if (r == MAILIMAP_ERROR_STREAM) { |
| 1681 | mShouldDisconnect = true; |
| 1682 | * pError = ErrorConnection; |
| 1683 | return; |
| 1684 | } |
| 1685 | else if (r == MAILIMAP_ERROR_PARSE) { |
| 1686 | mShouldDisconnect = true; |
| 1687 | * pError = ErrorParse; |
| 1688 | return; |
| 1689 | } |
| 1690 | else if (hasError(r)) { |
| 1691 | * pError = ErrorSubscribe; |
| 1692 | return; |
| 1693 | } |
| 1694 | * pError = ErrorNone; |
| 1695 | } |
| 1696 | |
| 1697 | void IMAPSession::unsubscribeFolder(String * folder, ErrorCode * pError) |
| 1698 | { |