diff --git a/exch/ews/context.cpp b/exch/ews/context.cpp index 99e033d0b..88edf2756 100644 --- a/exch/ews/context.cpp +++ b/exch/ews/context.cpp @@ -2141,10 +2141,10 @@ tSubscriptionId EWSContext::subscribe(const std::vector& folderIds, u detail::ExmdbSubscriptionKey key = m_plugin.subscribe(m_auth_info.maildir, eventMask, true, rop_util_make_eid_ex(1, PRIVATE_FID_IPMSUBTREE), subscriptionId.ID); - mgr->subscriptions.emplace_back(key); + mgr->inner_subs.emplace_back(key); return subscriptionId; } - mgr->subscriptions.reserve(folderIds.size()); + mgr->inner_subs.reserve(folderIds.size()); std::string target; std::string maildir; for(const sFolderId& f : folderIds) { @@ -2159,8 +2159,8 @@ tSubscriptionId EWSContext::subscribe(const std::vector& folderIds, u throw EWSError::InvalidSubscriptionRequest(E3200); if(!(permissions(maildir, folderspec.folderId) & frightsReadAny)) continue; // TODO: proper error handling - mgr->subscriptions.emplace_back(m_plugin.subscribe(maildir, eventMask, all, folderspec.folderId, - subscriptionId.ID)); + mgr->inner_subs.emplace_back(m_plugin.subscribe(maildir, + eventMask, all, folderspec.folderId, subscriptionId.ID)); } return subscriptionId; } diff --git a/exch/ews/ews.cpp b/exch/ews/ews.cpp index 874f09c1c..6792f8863 100644 --- a/exch/ews/ews.cpp +++ b/exch/ews/ews.cpp @@ -790,7 +790,7 @@ EWSPlugin::SubManager::SubManager(const char *uname, const EWSPlugin &plugin) : EWSPlugin::SubManager::~SubManager() { std::lock_guard ss_lock(ews.subscriptionLock); - for(const auto& subKey : subscriptions) + for (const auto &subKey : inner_subs) ews.unsubscribe(subKey); if(waitingContext) ews.unlinkSubscription(*waitingContext); diff --git a/exch/ews/ews.hpp b/exch/ews/ews.hpp index 916c91a70..787d800cb 100644 --- a/exch/ews/ews.hpp +++ b/exch/ews/ews.hpp @@ -148,7 +148,7 @@ class EWSPlugin { std::string username; ///< Name of the user who created the subscription Structures::sMailboxInfo mailboxInfo; ///< Target mailbox metadata std::mutex lock; ///< I/O mutex - std::vector subscriptions; ///< Exmdb subscription keys + std::vector inner_subs; ///< Exmdb subscription keys std::list events; ///< Events that occured since last check std::optional waitingContext; ///< ID of context waiting for events };