summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/Parser.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2007-12-03 15:04:10 +0100
committerBenoit Foucher <benoit@zeroc.com>2007-12-03 15:04:10 +0100
commit7bae461be57d06320c1d7860e6967bcd0b14718c (patch)
tree1763ec9f485e6f1ad0af51fa2c8fa6ae6e409907 /cpp/src/IceGrid/Parser.cpp
parentAdded more @deprecated tags to the Java generated code to reduce the number o... (diff)
downloadice-7bae461be57d06320c1d7860e6967bcd0b14718c.tar.bz2
ice-7bae461be57d06320c1d7860e6967bcd0b14718c.tar.xz
ice-7bae461be57d06320c1d7860e6967bcd0b14718c.zip
- Changed AdminI server start/stop methods to use AMI/AMD
- Minor exception handling fix in registry server admin router. - Changed Admin::getServerAdmin method to check if the server exists and can be loaded on the node before to return the server admin object. - Fixed icegridadmin to use the process facet to write messages
Diffstat (limited to 'cpp/src/IceGrid/Parser.cpp')
-rw-r--r--cpp/src/IceGrid/Parser.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/cpp/src/IceGrid/Parser.cpp b/cpp/src/IceGrid/Parser.cpp
index 99340f6c8f2..d0eefad29bd 100644
--- a/cpp/src/IceGrid/Parser.cpp
+++ b/cpp/src/IceGrid/Parser.cpp
@@ -1075,7 +1075,19 @@ Parser::writeMessage(const list<string>& args, int fd)
{
list<string>::const_iterator p = args.begin();
string server = *p++;
- _admin->writeMessage(server, *p, fd);
+
+ Ice::ObjectPrx serverAdmin = _admin->getServerAdmin(server);
+ Ice::ProcessPrx process = Ice::ProcessPrx::uncheckedCast(serverAdmin, "Process");
+
+ process->writeMessage(*p, fd);
+ }
+ catch(const Ice::ObjectNotExistException&)
+ {
+ error("couldn't reach the server's Admin object");
+ }
+ catch(const Ice::FacetNotExistException&)
+ {
+ error("the server's Admin object does not provide a 'Process' facet");
}
catch(const Ice::Exception& ex)
{