Browse Source

Get rid of mapArgs direct access in ZMQ construction

0.14
Matt Corallo 8 years ago
parent
commit
71fde5563b
  1. 2
      src/init.cpp
  2. 8
      src/zmq/zmqnotificationinterface.cpp
  3. 2
      src/zmq/zmqnotificationinterface.h

2
src/init.cpp

@ -1282,7 +1282,7 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
} }
#if ENABLE_ZMQ #if ENABLE_ZMQ
pzmqNotificationInterface = CZMQNotificationInterface::CreateWithArguments(mapArgs); pzmqNotificationInterface = CZMQNotificationInterface::Create();
if (pzmqNotificationInterface) { if (pzmqNotificationInterface) {
RegisterValidationInterface(pzmqNotificationInterface); RegisterValidationInterface(pzmqNotificationInterface);

8
src/zmq/zmqnotificationinterface.cpp

@ -29,7 +29,7 @@ CZMQNotificationInterface::~CZMQNotificationInterface()
} }
} }
CZMQNotificationInterface* CZMQNotificationInterface::CreateWithArguments(const std::map<std::string, std::string> &args) CZMQNotificationInterface* CZMQNotificationInterface::Create()
{ {
CZMQNotificationInterface* notificationInterface = NULL; CZMQNotificationInterface* notificationInterface = NULL;
std::map<std::string, CZMQNotifierFactory> factories; std::map<std::string, CZMQNotifierFactory> factories;
@ -42,11 +42,11 @@ CZMQNotificationInterface* CZMQNotificationInterface::CreateWithArguments(const
for (std::map<std::string, CZMQNotifierFactory>::const_iterator i=factories.begin(); i!=factories.end(); ++i) for (std::map<std::string, CZMQNotifierFactory>::const_iterator i=factories.begin(); i!=factories.end(); ++i)
{ {
std::map<std::string, std::string>::const_iterator j = args.find("-zmq" + i->first); std::string arg("-zmq" + i->first);
if (j!=args.end()) if (IsArgSet(arg))
{ {
CZMQNotifierFactory factory = i->second; CZMQNotifierFactory factory = i->second;
std::string address = j->second; std::string address = GetArg(arg, "");
CZMQAbstractNotifier *notifier = factory(); CZMQAbstractNotifier *notifier = factory();
notifier->SetType(i->first); notifier->SetType(i->first);
notifier->SetAddress(address); notifier->SetAddress(address);

2
src/zmq/zmqnotificationinterface.h

@ -17,7 +17,7 @@ class CZMQNotificationInterface : public CValidationInterface
public: public:
virtual ~CZMQNotificationInterface(); virtual ~CZMQNotificationInterface();
static CZMQNotificationInterface* CreateWithArguments(const std::map<std::string, std::string> &args); static CZMQNotificationInterface* Create();
protected: protected:
bool Initialize(); bool Initialize();

Loading…
Cancel
Save