diff options
Diffstat (limited to 'src/Common/UserManager.cpp')
-rw-r--r-- | src/Common/UserManager.cpp | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/src/Common/UserManager.cpp b/src/Common/UserManager.cpp index 4031140..0ccf314 100644 --- a/src/Common/UserManager.cpp +++ b/src/Common/UserManager.cpp @@ -208,39 +208,37 @@ boost::shared_ptr<const std::multimap<unsigned long, unsigned long> > UserManage } void UserManager::setPassword(unsigned long uid, const std::string &password) throw(Core::Exception) { - Core::Exception e(Core::Exception::NOT_IMPLEMENTED); - boost::lock_guard<boost::shared_mutex> lock(mutex); for(BackendMap::iterator backend = backends.begin(); backend != backends.end(); ++backend) { try { backend->second->setPassword(uid, password); + return; } - catch(Core::Exception e2) { - if(e.getErrorCode() == Core::Exception::NOT_IMPLEMENTED && e2.getErrorCode() != Core::Exception::NOT_IMPLEMENTED) - e = e2; + catch(Core::Exception e) { + if(e.getErrorCode() != Core::Exception::NOT_IMPLEMENTED) + throw e; } } - throw e; + throw Core::Exception(Core::Exception::NOT_IMPLEMENTED); } void UserManager::addUser(const UserInfo &userInfo) throw(Core::Exception) { - Core::Exception e(Core::Exception::NOT_IMPLEMENTED); - boost::lock_guard<boost::shared_mutex> lock(mutex); for(BackendMap::iterator backend = backends.begin(); backend != backends.end(); ++backend) { try { backend->second->addUser(userInfo); + return; } - catch(Core::Exception e2) { - if(e.getErrorCode() == Core::Exception::NOT_IMPLEMENTED && e2.getErrorCode() != Core::Exception::NOT_IMPLEMENTED) - e = e2; + catch(Core::Exception e) { + if(e.getErrorCode() != Core::Exception::NOT_IMPLEMENTED) + throw e; } } - throw e; + throw Core::Exception(Core::Exception::NOT_IMPLEMENTED); } } |