Browse Source

Whisper in main client.

cl-refactor
Gav Wood 10 years ago
parent
commit
bcca878832
  1. 2
      alethzero/MainWin.h
  2. 6
      libwebthree/WebThree.cpp
  3. 4
      libwebthree/WebThree.h

2
alethzero/MainWin.h

@ -75,7 +75,7 @@ public:
dev::WebThreeDirect* web3() const { return m_webThree.get(); } dev::WebThreeDirect* web3() const { return m_webThree.get(); }
dev::eth::Client* ethereum() const { return m_webThree->ethereum(); } dev::eth::Client* ethereum() const { return m_webThree->ethereum(); }
dev::shh::WhisperHost* whisper() const { return m_webThree->whisper(); } std::shared_ptr<dev::shh::WhisperHost> whisper() const { return m_webThree->whisper(); }
QList<dev::KeyPair> const& owned() const { return m_myKeys; } QList<dev::KeyPair> const& owned() const { return m_myKeys; }

6
libwebthree/WebThree.cpp

@ -28,7 +28,7 @@
#include <libp2p/Host.h> #include <libp2p/Host.h>
#include <libethereum/Defaults.h> #include <libethereum/Defaults.h>
#include <libethereum/EthereumHost.h> #include <libethereum/EthereumHost.h>
#include <libwhisper/WhisperPeer.h> #include <libwhisper/WhisperHost.h>
using namespace std; using namespace std;
using namespace dev; using namespace dev;
using namespace dev::p2p; using namespace dev::p2p;
@ -45,8 +45,8 @@ WebThreeDirect::WebThreeDirect(std::string const& _clientVersion, std::string co
if (_interfaces.count("eth")) if (_interfaces.count("eth"))
m_ethereum.reset(new eth::Client(&m_net, _dbPath, _forceClean)); m_ethereum.reset(new eth::Client(&m_net, _dbPath, _forceClean));
// if (_interfaces.count("shh")) if (_interfaces.count("shh"))
// m_whisper = new eth::Whisper(m_net.get()); m_whisper = m_net.registerCapability<WhisperHost>(new WhisperHost);
} }
WebThreeDirect::~WebThreeDirect() WebThreeDirect::~WebThreeDirect()

4
libwebthree/WebThree.h

@ -74,7 +74,7 @@ public:
// The mainline interfaces: // The mainline interfaces:
eth::Client* ethereum() const { if (!m_ethereum) throw InterfaceNotSupported("eth"); return m_ethereum.get(); } eth::Client* ethereum() const { if (!m_ethereum) throw InterfaceNotSupported("eth"); return m_ethereum.get(); }
shh::WhisperHost* whisper() const { if (!m_whisper) throw InterfaceNotSupported("shh"); return m_whisper.get(); } std::shared_ptr<shh::WhisperHost> whisper() const { auto w = m_whisper.lock(); if (!w) throw InterfaceNotSupported("shh"); return w; }
bzz::Interface* swarm() const { throw InterfaceNotSupported("bzz"); } bzz::Interface* swarm() const { throw InterfaceNotSupported("bzz"); }
// Misc stuff: // Misc stuff:
@ -118,7 +118,7 @@ private:
std::string m_clientVersion; ///< Our end-application client's name/version. std::string m_clientVersion; ///< Our end-application client's name/version.
std::unique_ptr<eth::Client> m_ethereum; ///< Main interface for Ethereum ("eth") protocol. std::unique_ptr<eth::Client> m_ethereum; ///< Main interface for Ethereum ("eth") protocol.
std::unique_ptr<shh::WhisperHost> m_whisper; ///< Main interface for Whisper ("shh") protocol. std::weak_ptr<shh::WhisperHost> m_whisper; ///< Main interface for Whisper ("shh") protocol.
p2p::Host m_net; ///< Should run in background and send us events when blocks found and allow us to send blocks as required. p2p::Host m_net; ///< Should run in background and send us events when blocks found and allow us to send blocks as required.
}; };

Loading…
Cancel
Save