summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/AdminI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceGrid/AdminI.cpp')
-rw-r--r--cpp/src/IceGrid/AdminI.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/cpp/src/IceGrid/AdminI.cpp b/cpp/src/IceGrid/AdminI.cpp
index 5aaf9bb8077..e5f5f056844 100644
--- a/cpp/src/IceGrid/AdminI.cpp
+++ b/cpp/src/IceGrid/AdminI.cpp
@@ -160,6 +160,24 @@ AdminI::stopServer(const string& id, const Current&)
}
void
+AdminI::patchServer(const string& id, const Current&)
+{
+ ServerPrx server = _database->getServer(id);
+ try
+ {
+ server->patch();
+ }
+ catch(const Ice::ObjectNotExistException&)
+ {
+ throw ServerNotExistException();
+ }
+ catch(const Ice::LocalException&)
+ {
+ throw NodeUnreachableException();
+ }
+}
+
+void
AdminI::sendSignal(const string& id, const string& signal, const Current&)
{
ServerPrx server = _database->getServer(id);