From a401a02ddb3fb045d998cf650292cab3b3ebfd58 Mon Sep 17 00:00:00 2001 From: Antonio Juarez Date: Mon, 7 Apr 2014 16:02:15 +0100 Subject: Improvements in JSON RPC --- include/INode.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 include/INode.h (limited to 'include/INode.h') diff --git a/include/INode.h b/include/INode.h new file mode 100644 index 000000000..bd35dccc5 --- /dev/null +++ b/include/INode.h @@ -0,0 +1,37 @@ +// Copyright (c) 2012-2013 The Cryptonote developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#pragma once + +#include +#include + +namespace cryptonote { + +class INodeObserver { +public: + virtual void initCompleted(std::error_code result) {} + + virtual void peerCountUpdated(size_t count) {} + virtual void lastLocalBlockHeightUpdated(uint64_t height) {} + virtual void lastKnownBlockHeightUpdated(uint64_t height) {} + + virtual void blockchainReorganized(uint64_t height) {} +}; + +class INode { +public: + virtual ~INode() = 0; + virtual void init() = 0; + virtual void shutdown() = 0; + + virtual void addObserver(INodeObserver* observer) = 0; + virtual void removeObserver(INodeObserver* observer) = 0; + + virtual size_t getPeerCount() = 0; + virtual uint64_t getLastLocalBlockHeight() = 0; + virtual uint64_t getLastKnownBlockHeight() = 0; +}; + +} -- cgit v1.2.3