summaryrefslogtreecommitdiffstats
path: root/src/Common/Backends/NetworkUserBackend.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Common/Backends/NetworkUserBackend.cpp')
-rw-r--r--src/Common/Backends/NetworkUserBackend.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/Common/Backends/NetworkUserBackend.cpp b/src/Common/Backends/NetworkUserBackend.cpp
index 7e77253..20deba6 100644
--- a/src/Common/Backends/NetworkUserBackend.cpp
+++ b/src/Common/Backends/NetworkUserBackend.cpp
@@ -70,6 +70,19 @@ void NetworkUserBackend::UserAddRequest::sendRequest() {
sendPacket(packet);
}
+void NetworkUserBackend::UserUpdateRequest::sendRequest() {
+ XmlPacket packet;
+ packet.setType("UpdateUser");
+
+ packet.set("origUid", uid);
+ packet.set("uid", userInfo.getUid());
+ packet.set("gid", userInfo.getGid());
+ packet.set("username", userInfo.getUsername());
+ packet.set("fullName", userInfo.getFullName());
+
+ sendPacket(packet);
+}
+
boost::shared_ptr<const std::map<unsigned long, UserInfo> > NetworkUserBackend::getUserList(boost::posix_time::ptime *timestamp) throw(Core::Exception) {
boost::shared_ptr<SimpleUserRequest> request(new SimpleUserRequest(application, "ListUsers", timestamp));
application->getRequestManager()->sendRequest(connection, request);
@@ -349,6 +362,26 @@ void NetworkUserBackend::addUser(const UserInfo &userInfo) throw(Core::Exception
throw result.second;
}
+void NetworkUserBackend::updateUser(unsigned long uid, const Common::UserInfo &userInfo) throw(Core::Exception) {
+ boost::shared_ptr<UserUpdateRequest> request(new UserUpdateRequest(application, uid, userInfo));
+ 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;
+}
+
+void NetworkUserBackend::deleteUser(unsigned long uid) throw(Core::Exception) {
+ boost::shared_ptr<IdUserRequest> request(new IdUserRequest(application, "DeleteUser", "uid", uid));
+ 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;
+}
+
}
}
}