diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2009-08-16 03:01:12 +0200 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2009-08-16 03:01:12 +0200 |
commit | b6f7d36a544a7a8c18c815ef4158cf684108d06d (patch) | |
tree | 417e12f98f5b2c6d03bd740999532e61d60a664a /src/Common/Backends/NetworkUserBackend.cpp | |
parent | c1cb92bc30256171bfafb22cf8512142afee97cf (diff) | |
download | mad-b6f7d36a544a7a8c18c815ef4158cf684108d06d.tar mad-b6f7d36a544a7a8c18c815ef4158cf684108d06d.zip |
Passwörter können gesetzt werden
Diffstat (limited to 'src/Common/Backends/NetworkUserBackend.cpp')
-rw-r--r-- | src/Common/Backends/NetworkUserBackend.cpp | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/src/Common/Backends/NetworkUserBackend.cpp b/src/Common/Backends/NetworkUserBackend.cpp index da964e7..00bd378 100644 --- a/src/Common/Backends/NetworkUserBackend.cpp +++ b/src/Common/Backends/NetworkUserBackend.cpp @@ -115,6 +115,15 @@ void NetworkUserBackend::UserGroupRequest::sendRequest() { sendPacket(packet); } +void NetworkUserBackend::PasswordRequest::sendRequest() { + XmlPacket packet; + packet.setType("SetPassword"); + packet.set("uid", uid); + packet.set("password", password); + + sendPacket(packet); +} + boost::shared_ptr<const std::map<unsigned long, UserInfo> > NetworkUserBackend::getUserList(boost::posix_time::ptime *timestamp) throw(Core::Exception) { application->getThreadManager()->detach(); @@ -397,11 +406,6 @@ boost::shared_ptr<const std::multimap<unsigned long, unsigned long> > NetworkUse } -/*void NetworkUserBackend::setPassword(unsigned long uid, const std::string &password) throw(Core::Exception) { - -}*/ - - void NetworkUserBackend::checkUserInfo(const UserInfo &userInfo) throw(Core::Exception) { application->getThreadManager()->detach(); @@ -524,6 +528,19 @@ void NetworkUserBackend::deleteUserFromGroup(unsigned long uid, unsigned long gi throw result.second; } + +void NetworkUserBackend::setPassword(unsigned long uid, const std::string &password) throw(Core::Exception) { + application->getThreadManager()->detach(); + + boost::shared_ptr<PasswordRequest> request(new PasswordRequest(application, uid, password)); + application->getRequestManager()->sendRequest(connection, request); + request->wait(); + + std::pair<boost::shared_ptr<const XmlPacket>, Core::Exception> result = request->getResult(); + if(!result.first || result.second) + throw result.second; +} + } } } |