X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;ds=sidebyside;f=example%2Fdiameter%2FstackManagement%2Fmain.cpp;h=9b83d21394a561ba5ce72ace5c68b5e4e6b76d63;hb=17d687f1070485b0b4d7038b7104cb3ab0f45349;hp=3fb6adaacc0543c9a792a10a4c592b9fb47833a5;hpb=3e258840b15577cb8bda3cdedd0b9b88e16404b3;p=anna.git diff --git a/example/diameter/stackManagement/main.cpp b/example/diameter/stackManagement/main.cpp index 3fb6ada..9b83d21 100644 --- a/example/diameter/stackManagement/main.cpp +++ b/example/diameter/stackManagement/main.cpp @@ -2,7 +2,7 @@ // // (c) Copyright 2005-2014 Eduardo Ramos Testillano & Francisco Ruiz Rayo // -// https://bitbucket.org/testillano/anna +// http://redmine.teslayout.com/projects/anna-suite // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions @@ -14,7 +14,7 @@ // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. -// * Neither the name of Google Inc. nor the names of its +// * Neither the name of the copyright holder nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // @@ -55,51 +55,51 @@ using namespace anna::diameter; void _exit(const std::string & msg) { - std::cout << std::endl << msg << std::endl; - exit(-1); + std::cout << std::endl << msg << std::endl; + exit(-1); } int main(int argc, char** argv) { - Logger::setLevel(Logger::Debug); - Logger::initialize("stackManagement", new TraceWriter("file.trace", 2048000)); - stack::Engine & engine = stack::Engine::instantiate(); - std::string exec = argv[0]; - std::string param = argv[1] ? argv[1] : ""; - - if (param == "") { - std::string msg = anna::functions::asString("Use: %s ,\n i.e. '%s avps.xml commands.xml'", exec.c_str(), exec.c_str()); - _exit(msg); - } - - int index = 1; - const char *xmlFile = argv[index]; - stack::Dictionary *dictionary; - - try { - dictionary = engine.createDictionary(0 /* general unique stack id */); - dictionary->allowUpdates(); - - while (xmlFile) { - dictionary->load(xmlFile); - xmlFile = argv[++index]; - } - - engine.removeStack(0); - // Trace: - LOGINFORMATION(Logger::information(engine.asString(), ANNA_FILE_LOCATION)); - LOGDEBUG(Logger::debug(dictionary->asString(), ANNA_FILE_LOCATION)); - // Output: - std::ofstream out("./result.xml", std::ifstream::out); - std::string buffer = dictionary->asXMLString(); - out.write(buffer.c_str(), buffer.size()); - out.close(); - std::cout << "Written 'result.xml'" << std::endl; - } catch (anna::RuntimeException &ex) { - ex.trace(); - std::cout << ex.getText() << std::endl; - } - - _exit("Open 'file.trace' in order to see the stacks loaded"); + Logger::setLevel(Logger::Debug); + Logger::initialize("stackManagement", new TraceWriter("file.trace", 2048000)); + stack::Engine & engine = stack::Engine::instantiate(); + std::string exec = argv[0]; + std::string param = argv[1] ? argv[1] : ""; + + if(argc < 2) { + std::string msg = anna::functions::asString("Usage: %s ,\n i.e. '%s avps.xml commands.xml'", exec.c_str(), exec.c_str()); + _exit(msg); + } + + int index = 1; + const char *xmlFile = argv[index]; + stack::Dictionary *dictionary; + + try { + dictionary = engine.createDictionary(0 /* general unique stack id */); + dictionary->allowUpdates(); + + while(xmlFile) { + dictionary->load(xmlFile); + xmlFile = argv[++index]; + } + + engine.removeStack(0); + // Trace: + LOGINFORMATION(Logger::information(engine.asString(), ANNA_FILE_LOCATION)); + LOGDEBUG(Logger::debug(dictionary->asString(), ANNA_FILE_LOCATION)); + // Output: + std::ofstream out("./result.xml", std::ifstream::out); + std::string buffer = dictionary->asXMLString(); + out.write(buffer.c_str(), buffer.size()); + out.close(); + std::cout << "Written 'result.xml'" << std::endl; + } catch(anna::RuntimeException &ex) { + ex.trace(); + std::cout << ex.getText() << std::endl; + } + + _exit("Open 'file.trace' in order to see the stacks loaded"); }