diff options
Diffstat (limited to 'cpp/src/IceStorm')
40 files changed, 39 insertions, 771 deletions
diff --git a/cpp/src/IceStorm/Admin.cpp b/cpp/src/IceStorm/Admin.cpp index bbbeace543a..ed8c119d45b 100644 --- a/cpp/src/IceStorm/Admin.cpp +++ b/cpp/src/IceStorm/Admin.cpp @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/DBTypes.ice b/cpp/src/IceStorm/DBTypes.ice index 582155d8b2f..7975bb0ed1d 100644 --- a/cpp/src/IceStorm/DBTypes.ice +++ b/cpp/src/IceStorm/DBTypes.ice @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/Election.ice b/cpp/src/IceStorm/Election.ice index 96343e4559d..ef2b2abc470 100644 --- a/cpp/src/IceStorm/Election.ice +++ b/cpp/src/IceStorm/Election.ice @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/Grammar.cpp b/cpp/src/IceStorm/Grammar.cpp index ce99bde548b..02fb3e8c4ca 100644 --- a/cpp/src/IceStorm/Grammar.cpp +++ b/cpp/src/IceStorm/Grammar.cpp @@ -73,7 +73,7 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/Grammar.y b/cpp/src/IceStorm/Grammar.y index d21eabcd354..9caffabd619 100644 --- a/cpp/src/IceStorm/Grammar.y +++ b/cpp/src/IceStorm/Grammar.y @@ -2,7 +2,7 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/IceStormDB.cpp b/cpp/src/IceStorm/IceStormDB.cpp index dbf23aaf62c..b5f9587e8b3 100644 --- a/cpp/src/IceStorm/IceStormDB.cpp +++ b/cpp/src/IceStorm/IceStormDB.cpp @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/IceStormInternal.ice b/cpp/src/IceStorm/IceStormInternal.ice index 009e4a29876..dfe00bdecae 100644 --- a/cpp/src/IceStorm/IceStormInternal.ice +++ b/cpp/src/IceStorm/IceStormInternal.ice @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/Instance.cpp b/cpp/src/IceStorm/Instance.cpp index 68d43558e93..1b4fd57ac17 100644 --- a/cpp/src/IceStorm/Instance.cpp +++ b/cpp/src/IceStorm/Instance.cpp @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/Instance.h b/cpp/src/IceStorm/Instance.h index 759ca8dee88..7007998a650 100644 --- a/cpp/src/IceStorm/Instance.h +++ b/cpp/src/IceStorm/Instance.h @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/Instrumentation.ice b/cpp/src/IceStorm/Instrumentation.ice index 2c488805b54..222de72f715 100644 --- a/cpp/src/IceStorm/Instrumentation.ice +++ b/cpp/src/IceStorm/Instrumentation.ice @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/InstrumentationI.cpp b/cpp/src/IceStorm/InstrumentationI.cpp index 017a5196fd3..7d69eb2bc85 100644 --- a/cpp/src/IceStorm/InstrumentationI.cpp +++ b/cpp/src/IceStorm/InstrumentationI.cpp @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/InstrumentationI.h b/cpp/src/IceStorm/InstrumentationI.h index 9bdb92cb493..a8857344db4 100644 --- a/cpp/src/IceStorm/InstrumentationI.h +++ b/cpp/src/IceStorm/InstrumentationI.h @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/LLURecord.ice b/cpp/src/IceStorm/LLURecord.ice index 2ec7a4eaf46..e8e24f0d4fc 100644 --- a/cpp/src/IceStorm/LLURecord.ice +++ b/cpp/src/IceStorm/LLURecord.ice @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/LinkRecord.ice b/cpp/src/IceStorm/LinkRecord.ice index f4a9a3ad615..ec73c5146f1 100644 --- a/cpp/src/IceStorm/LinkRecord.ice +++ b/cpp/src/IceStorm/LinkRecord.ice @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/NodeI.cpp b/cpp/src/IceStorm/NodeI.cpp index 098b5167e04..0994fa6a1e0 100644 --- a/cpp/src/IceStorm/NodeI.cpp +++ b/cpp/src/IceStorm/NodeI.cpp @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/NodeI.h b/cpp/src/IceStorm/NodeI.h index 9086917ae53..24fd540d223 100644 --- a/cpp/src/IceStorm/NodeI.h +++ b/cpp/src/IceStorm/NodeI.h @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/Observers.cpp b/cpp/src/IceStorm/Observers.cpp index 06ea3135481..d63f849129d 100644 --- a/cpp/src/IceStorm/Observers.cpp +++ b/cpp/src/IceStorm/Observers.cpp @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/Observers.h b/cpp/src/IceStorm/Observers.h index 83f67adc45b..5b98ae3fcd7 100644 --- a/cpp/src/IceStorm/Observers.h +++ b/cpp/src/IceStorm/Observers.h @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/Parser.cpp b/cpp/src/IceStorm/Parser.cpp deleted file mode 100644 index dd7fd961e33..00000000000 --- a/cpp/src/IceStorm/Parser.cpp +++ /dev/null @@ -1,732 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2016 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 <IceUtil/DisableWarnings.h> -#include <Ice/Ice.h> -#include <Ice/ConsoleUtil.h> -#include <IceStorm/Parser.h> -#include <IceStorm/IceStormInternal.h> -#include <algorithm> - -#ifdef HAVE_READLINE -# include <readline/readline.h> -# include <readline/history.h> -#endif - -extern FILE* yyin; -extern int yydebug; - -using namespace std; -using namespace Ice; -using namespace IceInternal; -using namespace IceStorm; - -namespace IceStorm -{ - -Parser* parser; - -#ifdef _WIN32 -Ice::StringConverterPtr windowsConsoleConverter = 0; -#endif - -} - -namespace -{ - -class UnknownManagerException : public Exception -{ -public: - - UnknownManagerException(const string& name, const char* file, int line) : - Exception(file, line), - name(name) - { - } - -#ifndef ICE_CPP11_COMPILER - virtual - ~UnknownManagerException() throw() - { - } -#endif - - virtual string - ice_id() const - { - return "::UnknownManagerException"; - } - - virtual Exception* - ice_clone() const - { - return new UnknownManagerException(*this); - } - - virtual void - ice_throw() const - { - throw *this; - } - - const string name; -}; - -} - -ParserPtr -Parser::createParser(const CommunicatorPtr& communicator, const TopicManagerPrx& admin, - const map<Ice::Identity, TopicManagerPrx>& managers) -{ - return new Parser(communicator, admin, managers); -} - -void -Parser::usage() -{ - consoleOut << - "help Print this message.\n" - "exit, quit Exit this program.\n" - "create TOPICS Add TOPICS.\n" - "destroy TOPICS Remove TOPICS.\n" - "link FROM TO [COST] Link FROM to TO with the optional given COST.\n" - "unlink FROM TO Unlink TO from FROM.\n" - "links [INSTANCE-NAME] Display all links for the topics in the current topic\n" - " manager, or in the given INSTANCE-NAME.\n" - "topics [INSTANCE-NAME] Display the names of all topics in the current topic\n" - " manager, or in the given INSTANCE-NAME.\n" - "current [INSTANCE-NAME] Display the current topic manager, or change it to\n" - " INSTANCE-NAME.\n" - "replica [INSTANCE-NAME] Display replication information for the given INSTANCE-NAME.\n" - "subscribers TOPICS List TOPICS subscribers.\n" - ; -} - -void -Parser::create(const list<string>& args) -{ - if(args.empty()) - { - error("`create' requires at least one argument (type `help' for more info)"); - return; - } - - for(list<string>::const_iterator i = args.begin(); i != args.end() ; ++i) - { - try - { - string topicName; - TopicManagerPrx manager = findManagerById(*i, topicName); - manager->create(topicName); - } - catch(const Ice::Exception& ex) - { - exception(ex, args.size() > 1); // Print a warning if we're creating multiple topics, an error otherwise. - } - } -} - -void -Parser::destroy(const list<string>& args) -{ - if(args.empty()) - { - error("`destroy' requires at least one argument (type `help' for more info)"); - return; - } - - for(list<string>::const_iterator i = args.begin(); i != args.end() ; ++i) - { - try - { - findTopic(*i)->destroy(); - } - catch(const Ice::Exception& ex) - { - exception(ex, args.size() > 1); // Print a warning if we're destroying multiple topics, an error otherwise. - } - } -} - -void -Parser::link(const list<string>& args) -{ - if(args.size() != 2 && args.size() != 3) - { - error("`link' requires two or three arguments (type `help' for more info)"); - return; - } - - try - { - list<string>::const_iterator p = args.begin(); - - TopicPrx fromTopic = findTopic(*p++); - TopicPrx toTopic = findTopic(*p++); - Ice::Int cost = p != args.end() ? atoi(p->c_str()) : 0; - - fromTopic->link(toTopic, cost); - } - catch(const Exception& ex) - { - exception(ex); - } -} - -void -Parser::unlink(const list<string>& args) -{ - if(args.size() != 2) - { - error("`unlink' requires exactly two arguments (type `help' for more info)"); - return; - } - - try - { - list<string>::const_iterator p = args.begin(); - - TopicPrx fromTopic = findTopic(*p++); - TopicPrx toTopic = findTopic(*p++); - - fromTopic->unlink(toTopic); - } - catch(const Exception& ex) - { - exception(ex); - } -} - -void -Parser::links(const list<string>& args) -{ - if(args.size() > 1) - { - error("`links' requires at most one argument (type `help' for more info)"); - return; - } - - try - { - TopicManagerPrx manager; - if(args.size() == 0) - { - manager = _defaultManager; - } - else - { - manager = findManagerByCategory(args.front()); - } - - TopicDict d = manager->retrieveAll(); - for(TopicDict::iterator i = d.begin(); i != d.end(); ++i) - { - LinkInfoSeq links = i->second->getLinkInfoSeq(); - for(LinkInfoSeq::const_iterator p = links.begin(); p != links.end(); ++p) - { - consoleOut << i->first << " to " << p->name << " with cost " << p->cost << endl; - } - } - } - catch(const Exception& ex) - { - exception(ex); - } -} - -void -Parser::topics(const list<string>& args) -{ - if(args.size() > 1) - { - error("`topics' requires at most one argument (type `help' for more info)"); - return; - } - - try - { - TopicManagerPrx manager; - if(args.size() == 0) - { - manager = _defaultManager; - } - else - { - manager = findManagerByCategory(args.front()); - } - - TopicDict d = manager->retrieveAll(); - for(TopicDict::iterator i = d.begin(); i != d.end(); ++i) - { - consoleOut << i->first << endl; - } - } - catch(const Exception& ex) - { - exception(ex); - } -} - -void -Parser::replica(const list<string>& args) -{ - if(args.size() > 1) - { - error("`replica' requires at most one argument (type `help' for more info)"); - return; - } - - try - { - TopicManagerPrx m; - if(args.size() == 0) - { - m = _defaultManager; - } - else - { - m = findManagerByCategory(args.front()); - } - TopicManagerInternalPrx manager = TopicManagerInternalPrx::uncheckedCast(m); - IceStormElection::NodePrx node = manager->getReplicaNode(); - if(!node) - { - error("This topic is not replicated"); - } - IceStormElection::NodeInfoSeq nodes = node->nodes(); - consoleOut << "replica count: " << nodes.size() << endl; - for(IceStormElection::NodeInfoSeq::const_iterator p = nodes.begin(); p != nodes.end(); ++p) - { - try - { - IceStormElection::QueryInfo info = p->n->query(); - consoleOut << p->id << ": id: " << info.id << endl; - consoleOut << p->id << ": coord: " << info.coord << endl; - consoleOut << p->id << ": group name: " << info.group << endl; - consoleOut << p->id << ": state: "; - switch(info.state) - { - case IceStormElection::NodeStateInactive: - consoleOut << "inactive"; - break; - case IceStormElection::NodeStateElection: - consoleOut << "election"; - break; - case IceStormElection::NodeStateReorganization: - consoleOut << "reorganization"; - break; - case IceStormElection::NodeStateNormal: - consoleOut << "normal"; - break; - default: - consoleOut << "unknown"; - } - consoleOut << endl; - consoleOut << p->id << ": group: "; - for(IceStormElection::GroupInfoSeq::const_iterator q = info.up.begin(); q != info.up.end(); ++q) - { - if(q != info.up.begin()) - { - consoleOut << ","; - } - consoleOut << q->id; - } - consoleOut << endl; - consoleOut << p->id << ": max: " << info.max - << endl; - } - catch(const Exception& ex) - { - consoleOut << p->id << ": " << ex.ice_id() << endl; - } - } - } - catch(const Exception& ex) - { - exception(ex); - } -} - -void -Parser::subscribers(const list<string>& args) -{ - if(args.empty()) - { - error("subscribers' requires at least one argument (type `help' for more info) "); - return; - } - try - { - for(list<string>::const_iterator i = args.begin(); i != args.end() ; ++i) - { - TopicPrx topic = _defaultManager->retrieve(*i); - consoleOut << (*i) << ": subscribers:" << endl; - IdentitySeq subscribers = topic->getSubscribers(); - for(IdentitySeq::const_iterator j = subscribers.begin(); j != subscribers.end(); ++j) - { - consoleOut << "\t" << _communicator->identityToString(*j) << endl; - } - } - } - catch(const Exception& ex) - { - exception(ex); - } -} - -void -Parser::current(const list<string>& args) -{ - if(args.empty()) - { - consoleOut << _communicator->identityToString(_defaultManager->ice_getIdentity()) << endl; - return; - } - else if(args.size() > 1) - { - error("`current' requires at most one argument (type `help' for more info)"); - return; - } - - try - { - TopicManagerPrx manager = findManagerByCategory(args.front()); - manager->ice_ping(); - _defaultManager = manager; - } - catch(const Exception& ex) - { - exception(ex); - } -} - -void -Parser::showBanner() -{ - consoleOut << "Ice " << ICE_STRING_VERSION << " Copyright (c) 2003-2016 ZeroC, Inc." << endl; -} - -// -// With older flex version <= 2.5.35 YY_INPUT second -// paramenter is of type int&, in newer versions it -// changes to size_t& -// -void -Parser::getInput(char* buf, int& result, size_t maxSize) -{ - size_t r = static_cast<size_t>(result); - getInput(buf, r, maxSize); - result = static_cast<int>(r); -} - -void -Parser::getInput(char* buf, size_t& result, size_t maxSize) -{ - if(!_commands.empty()) - { - if(_commands == ";") - { - result = 0; - } - else - { - result = min(maxSize, _commands.length()); - strncpy(buf, _commands.c_str(), result); - _commands.erase(0, result); - if(_commands.empty()) - { - _commands = ";"; - } - } - } - else - { -#ifdef HAVE_READLINE - - const char* prompt = parser->getPrompt(); - char* line = readline(const_cast<char*>(prompt)); - if(!line) - { - result = 0; - } - else - { - if(*line) - { - add_history(line); - } - - result = strlen(line) + 1; - if(result > maxSize) - { - free(line); - error("input line too long"); - result = 0; - } - else - { - strcpy(buf, line); - strcat(buf, "\n"); - free(line); - } - } - -#else - - consoleOut << parser->getPrompt() << flush; - - string line; - while(true) - { - char c = static_cast<char>(getc(yyin)); - if(c == EOF) - { - if(line.size()) - { - line += '\n'; - } - break; - } - - line += c; - if(c == '\n') - { - break; - } - } -#ifdef _WIN32 - if(windowsConsoleConverter) - { - line = nativeToUTF8(line, windowsConsoleConverter); - } -#endif - result = line.length(); - if(result > maxSize) - { - error("input line too long"); - buf[0] = EOF; - result = 1; - } - else - { - strcpy(buf, line.c_str()); - } - -#endif - } -} - -void -Parser::continueLine() -{ - _continue = true; -} - -const char* -Parser::getPrompt() -{ - assert(_commands.empty()); - - if(_continue) - { - _continue = false; - return "(cont) "; - } - else - { - return ">>> "; - } -} - -void -Parser::error(const char* s) -{ - consoleErr << "error: " << s << endl; - _errors++; -} - -void -Parser::error(const string& s) -{ - error(s.c_str()); -} - -void -Parser::warning(const char* s) -{ - consoleErr << "warning: " << s << endl; -} - -void -Parser::warning(const string& s) -{ - warning(s.c_str()); -} - -void -Parser::invalidCommand(const string& s) -{ - consoleErr << s << endl; -} - -int -Parser::parse(FILE* file, bool debug) -{ - yydebug = debug ? 1 : 0; - - assert(!parser); - parser = this; - - _errors = 0; - _commands.empty(); - yyin = file; - assert(yyin); - - _continue = false; - - int status = yyparse(); - if(_errors) - { - status = EXIT_FAILURE; - } - - parser = 0; - return status; -} - -int -Parser::parse(const std::string& commands, bool debug) -{ - yydebug = debug ? 1 : 0; - - assert(!parser); - parser = this; - - _errors = 0; - _commands = commands; - assert(!_commands.empty()); - yyin = 0; - - _continue = false; - - int status = yyparse(); - if(_errors) - { - status = EXIT_FAILURE; - } - - parser = 0; - return status; -} - -TopicManagerPrx -Parser::findManagerById(const string& full, string& arg) const -{ - Ice::Identity id = Ice::stringToIdentity(full); - arg = id.name; - if(id.category.empty()) - { - return _defaultManager; - } - id.name = "TopicManager"; - map<Ice::Identity, TopicManagerPrx>::const_iterator p = _managers.find(id); - if(p == _managers.end()) - { - throw UnknownManagerException(id.category, __FILE__, __LINE__); - } - return p->second; -} - -TopicManagerPrx -Parser::findManagerByCategory(const string& full) const -{ - Ice::Identity id; - id.category = full; - id.name = "TopicManager"; - map<Ice::Identity, TopicManagerPrx>::const_iterator p = _managers.find(id); - if(p == _managers.end()) - { - throw UnknownManagerException(id.category, __FILE__, __LINE__); - } - return p->second; -} - -TopicPrx -Parser::findTopic(const string& full) const -{ - string topicName; - TopicManagerPrx manager = findManagerById(full, topicName); - return manager->retrieve(topicName); -} - -Parser::Parser(const CommunicatorPtr& communicator, const TopicManagerPrx& admin, - const map<Ice::Identity, TopicManagerPrx>& managers) : - _communicator(communicator), - _defaultManager(admin), - _managers(managers) -{ -#ifdef _WIN32 - if(!windowsConsoleConverter) - { - windowsConsoleConverter = Ice::createWindowsStringConverter(GetConsoleOutputCP()); - } -#endif -} - -void -Parser::exception(const Ice::Exception& ex, bool warn) -{ - ostringstream os; - try - { - ex.ice_throw(); - } - catch(const LinkExists& ex) - { - os << "link `" << ex.name << "' already exists"; - } - catch(const NoSuchLink& ex) - { - os << "couldn't find link `" << ex.name << "'"; - } - catch(const TopicExists& ex) - { - os << "topic `" << ex.name << "' exists"; - } - catch(const NoSuchTopic& ex) - { - os << "couldn't find topic `" << ex.name << "'"; - } - catch(const UnknownManagerException& ex) - { - os << "couldn't find IceStorm service `" << ex.name << "'"; - } - catch(const IdentityParseException& ex) - { - os << "invalid identity `" << ex.str << "'"; - } - catch(const Ice::LocalException& ex) - { - os << "couldn't reach IceStorm service:\n" << ex; - } - catch(const Ice::Exception& ex) - { - os << ex; - } - - if(warn) - { - warning(os.str()); - } - else - { - error(os.str()); - } -} diff --git a/cpp/src/IceStorm/Parser.h b/cpp/src/IceStorm/Parser.h index 9e3ffb9f187..225c7df71ad 100644 --- a/cpp/src/IceStorm/Parser.h +++ b/cpp/src/IceStorm/Parser.h @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/Replica.h b/cpp/src/IceStorm/Replica.h index eb615a601e3..5c442c30cb1 100644 --- a/cpp/src/IceStorm/Replica.h +++ b/cpp/src/IceStorm/Replica.h @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/Scanner.cpp b/cpp/src/IceStorm/Scanner.cpp index d285ed59bbd..c6d3edb283a 100644 --- a/cpp/src/IceStorm/Scanner.cpp +++ b/cpp/src/IceStorm/Scanner.cpp @@ -478,7 +478,7 @@ char *yytext; // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/Scanner.l b/cpp/src/IceStorm/Scanner.l index 7f41b953f95..5fdda308c42 100644 --- a/cpp/src/IceStorm/Scanner.l +++ b/cpp/src/IceStorm/Scanner.l @@ -2,7 +2,7 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/Service.cpp b/cpp/src/IceStorm/Service.cpp index 011c6faa5da..02b7f6336f5 100644 --- a/cpp/src/IceStorm/Service.cpp +++ b/cpp/src/IceStorm/Service.cpp @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/Service.h b/cpp/src/IceStorm/Service.h index e7ac1081b82..469ec77de1e 100644 --- a/cpp/src/IceStorm/Service.h +++ b/cpp/src/IceStorm/Service.h @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/Subscriber.cpp b/cpp/src/IceStorm/Subscriber.cpp index 3beabab0963..bef2c362b6a 100644 --- a/cpp/src/IceStorm/Subscriber.cpp +++ b/cpp/src/IceStorm/Subscriber.cpp @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/Subscriber.h b/cpp/src/IceStorm/Subscriber.h index b7816282727..cd1a80d859b 100644 --- a/cpp/src/IceStorm/Subscriber.h +++ b/cpp/src/IceStorm/Subscriber.h @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/SubscriberRecord.ice b/cpp/src/IceStorm/SubscriberRecord.ice index cfd1bc103a2..d3c143d372b 100644 --- a/cpp/src/IceStorm/SubscriberRecord.ice +++ b/cpp/src/IceStorm/SubscriberRecord.ice @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/TopicI.cpp b/cpp/src/IceStorm/TopicI.cpp index c500dd32ca2..55f52489158 100644 --- a/cpp/src/IceStorm/TopicI.cpp +++ b/cpp/src/IceStorm/TopicI.cpp @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/TopicI.h b/cpp/src/IceStorm/TopicI.h index 17b2050cf92..a643be1b1a4 100644 --- a/cpp/src/IceStorm/TopicI.h +++ b/cpp/src/IceStorm/TopicI.h @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/TopicManagerI.cpp b/cpp/src/IceStorm/TopicManagerI.cpp index ef18c5cd476..8e9cfe33de1 100644 --- a/cpp/src/IceStorm/TopicManagerI.cpp +++ b/cpp/src/IceStorm/TopicManagerI.cpp @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/TopicManagerI.h b/cpp/src/IceStorm/TopicManagerI.h index 43a13ecaf5e..74afb11e150 100644 --- a/cpp/src/IceStorm/TopicManagerI.h +++ b/cpp/src/IceStorm/TopicManagerI.h @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/TraceLevels.cpp b/cpp/src/IceStorm/TraceLevels.cpp index 65b8f669e9b..e4cb0198115 100644 --- a/cpp/src/IceStorm/TraceLevels.cpp +++ b/cpp/src/IceStorm/TraceLevels.cpp @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/TraceLevels.h b/cpp/src/IceStorm/TraceLevels.h index d99ef3202da..22547911aa6 100644 --- a/cpp/src/IceStorm/TraceLevels.h +++ b/cpp/src/IceStorm/TraceLevels.h @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/TransientTopicI.cpp b/cpp/src/IceStorm/TransientTopicI.cpp index 062db7014fb..1de6f0f7c70 100644 --- a/cpp/src/IceStorm/TransientTopicI.cpp +++ b/cpp/src/IceStorm/TransientTopicI.cpp @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/TransientTopicI.h b/cpp/src/IceStorm/TransientTopicI.h index 7814ae315db..b7ce4c45f78 100644 --- a/cpp/src/IceStorm/TransientTopicI.h +++ b/cpp/src/IceStorm/TransientTopicI.h @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/TransientTopicManagerI.cpp b/cpp/src/IceStorm/TransientTopicManagerI.cpp index 8c45a471f19..b47ab853a04 100644 --- a/cpp/src/IceStorm/TransientTopicManagerI.cpp +++ b/cpp/src/IceStorm/TransientTopicManagerI.cpp @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/TransientTopicManagerI.h b/cpp/src/IceStorm/TransientTopicManagerI.h index b0716e83d98..5827fb3875c 100644 --- a/cpp/src/IceStorm/TransientTopicManagerI.h +++ b/cpp/src/IceStorm/TransientTopicManagerI.h @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/Util.cpp b/cpp/src/IceStorm/Util.cpp index aa320016112..ed592db61ec 100644 --- a/cpp/src/IceStorm/Util.cpp +++ b/cpp/src/IceStorm/Util.cpp @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. diff --git a/cpp/src/IceStorm/Util.h b/cpp/src/IceStorm/Util.h index 373ed6b9058..5b2ff1ef642 100644 --- a/cpp/src/IceStorm/Util.h +++ b/cpp/src/IceStorm/Util.h @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2017 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. |