From 7bae461be57d06320c1d7860e6967bcd0b14718c Mon Sep 17 00:00:00 2001 From: Benoit Foucher Date: Mon, 3 Dec 2007 15:04:10 +0100 Subject: - 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 --- cpp/src/IceGrid/Parser.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'cpp/src/IceGrid/Parser.cpp') 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& args, int fd) { list::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) { -- cgit v1.2.3