diff options
Diffstat (limited to 'cpp/src/IceGrid/FileParserI.cpp')
-rw-r--r-- | cpp/src/IceGrid/FileParserI.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/cpp/src/IceGrid/FileParserI.cpp b/cpp/src/IceGrid/FileParserI.cpp new file mode 100644 index 00000000000..f6dae7f7b64 --- /dev/null +++ b/cpp/src/IceGrid/FileParserI.cpp @@ -0,0 +1,31 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#include <IceGrid/FileParserI.h> +#include <IceGrid/DescriptorParser.h> +#include <IceXML/Parser.h> +#include <Ice/ObjectAdapter.h> + +using namespace std; +using namespace IceGrid; + +ApplicationDescriptor +FileParserI::parse(const string& file, const AdminPrx& admin, const Ice::Current& current) +{ + try + { + return DescriptorParser::parseDescriptor(file, Ice::StringSeq(), map<string, string>(), + current.adapter->getCommunicator(), admin); + } + catch(const IceXML::ParserException& e) + { + throw ParseException(e.reason()); + return ApplicationDescriptor(); + } +} |