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

8
src/zmq/zmqnotificationinterface.cpp

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

2
src/zmq/zmqnotificationinterface.h

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

Loading…
Cancel
Save