diff options
author | Joe George <joe@zeroc.com> | 2021-01-28 16:26:44 -0500 |
---|---|---|
committer | Joe George <joe@zeroc.com> | 2021-02-01 16:59:30 -0500 |
commit | 92a6531e409f2691d82591e185a92299d415fc0f (patch) | |
tree | 60c79e2a8f327b8f0b6ebc06b06f48a2e8086f6a /cpp/src/IceStorm/IceStormDB.cpp | |
parent | Port Glacier2, IceBox, IceBridge, IceDB, IceXML, icegriddb (diff) | |
download | ice-92a6531e409f2691d82591e185a92299d415fc0f.tar.bz2 ice-92a6531e409f2691d82591e185a92299d415fc0f.tar.xz ice-92a6531e409f2691d82591e185a92299d415fc0f.zip |
IceGrid and IceStorm
Diffstat (limited to 'cpp/src/IceStorm/IceStormDB.cpp')
-rw-r--r-- | cpp/src/IceStorm/IceStormDB.cpp | 34 |
1 files changed, 10 insertions, 24 deletions
diff --git a/cpp/src/IceStorm/IceStormDB.cpp b/cpp/src/IceStorm/IceStormDB.cpp index ccd7d0e3d7f..55a1d488856 100644 --- a/cpp/src/IceStorm/IceStormDB.cpp +++ b/cpp/src/IceStorm/IceStormDB.cpp @@ -9,20 +9,14 @@ #include <Ice/ConsoleUtil.h> #include <IceDB/IceDB.h> #include <IceStorm/DBTypes.h> + #include <fstream> +#include <iterator> using namespace std; using namespace IceInternal; -int run(const Ice::StringSeq&); - -Ice::CommunicatorPtr communicator; - -void -destroyCommunicator(int) -{ - communicator->destroy(); -} +int run(const shared_ptr<Ice::Communicator>&, const Ice::StringSeq&); int #ifdef _WIN32 @@ -35,13 +29,8 @@ main(int argc, char* argv[]) try { - Ice::CtrlCHandler ctrlCHandler; Ice::CommunicatorHolder ich(argc, argv); - communicator = ich.communicator(); - - ctrlCHandler.setCallback(&destroyCommunicator); - - status = run(Ice::argsToStringSeq(argc, argv)); + status = run(ich.communicator(), Ice::argsToStringSeq(argc, argv)); } catch(const std::exception& ex) { @@ -70,7 +59,7 @@ usage(const string& name) } int -run(const Ice::StringSeq& args) +run(const shared_ptr<Ice::Communicator>& communicator, const Ice::StringSeq& args) { IceUtilInternal::Options opts; opts.addOpt("h", "help"); @@ -144,10 +133,7 @@ run(const Ice::StringSeq& args) { IceStorm::AllData data; - IceDB::IceContext dbContext; - dbContext.communicator = communicator; - dbContext.encoding.major = 1; - dbContext.encoding.minor = 1; + IceDB::IceContext dbContext = { communicator, {1, 1} }; if(import) { @@ -234,14 +220,14 @@ run(const Ice::StringSeq& args) IceDB::Dbi<IceStorm::SubscriberRecordKey, IceStorm::SubscriberRecord, IceDB::IceContext, Ice::OutputStream> subscriberMap(txn, "subscribers", dbContext, MDB_CREATE); - for(IceStorm::SubscriberRecordDict::const_iterator q = data.subscribers.begin(); q != data.subscribers.end(); ++q) + for(const auto& subscriber : data.subscribers) { if(debug) { - consoleOut << " KEY = TOPIC(" << communicator->identityToString(q->first.topic) - << ") ID(" << communicator->identityToString(q->first.id) << ")" << endl; + consoleOut << " KEY = TOPIC(" << communicator->identityToString(subscriber.first.topic) + << ") ID(" << communicator->identityToString(subscriber.first.id) << ")" << endl; } - subscriberMap.put(txn, q->first, q->second); + subscriberMap.put(txn, subscriber.first, subscriber.second); } txn.commit(); |