aboutsummaryrefslogtreecommitdiff
path: root/src/rpcserver.h
diff options
context:
space:
mode:
authorDaniel Cousens <[email protected]>2016-01-15 11:55:17 +1100
committerDaniel Cousens <[email protected]>2016-01-21 08:36:55 +1100
commita0eaff8a1d18ebba33cdea4cd1efaddeb55519e7 (patch)
tree5f13a0b8968d60274d86c44b685c9c980f7a33ca /src/rpcserver.h
parentMerge #7183: Improved readability of ApproximateBestSubset (diff)
downloaddiscoin-a0eaff8a1d18ebba33cdea4cd1efaddeb55519e7.tar.xz
discoin-a0eaff8a1d18ebba33cdea4cd1efaddeb55519e7.zip
move rpc* to rpc/
Diffstat (limited to 'src/rpcserver.h')
-rw-r--r--src/rpcserver.h243
1 files changed, 0 insertions, 243 deletions
diff --git a/src/rpcserver.h b/src/rpcserver.h
deleted file mode 100644
index 219d0422d..000000000
--- a/src/rpcserver.h
+++ /dev/null
@@ -1,243 +0,0 @@
-// Copyright (c) 2010 Satoshi Nakamoto
-// Copyright (c) 2009-2015 The Bitcoin Core developers
-// Distributed under the MIT software license, see the accompanying
-// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-
-#ifndef BITCOIN_RPCSERVER_H
-#define BITCOIN_RPCSERVER_H
-
-#include "amount.h"
-#include "rpcprotocol.h"
-#include "uint256.h"
-
-#include <list>
-#include <map>
-#include <stdint.h>
-#include <string>
-
-#include <boost/function.hpp>
-
-#include <univalue.h>
-
-class CRPCCommand;
-
-namespace RPCServer
-{
- void OnStarted(boost::function<void ()> slot);
- void OnStopped(boost::function<void ()> slot);
- void OnPreCommand(boost::function<void (const CRPCCommand&)> slot);
- void OnPostCommand(boost::function<void (const CRPCCommand&)> slot);
-}
-
-class CBlockIndex;
-class CNetAddr;
-
-class JSONRequest
-{
-public:
- UniValue id;
- std::string strMethod;
- UniValue params;
-
- JSONRequest() { id = NullUniValue; }
- void parse(const UniValue& valRequest);
-};
-
-/** Query whether RPC is running */
-bool IsRPCRunning();
-
-/**
- * Set the RPC warmup status. When this is done, all RPC calls will error out
- * immediately with RPC_IN_WARMUP.
- */
-void SetRPCWarmupStatus(const std::string& newStatus);
-/* Mark warmup as done. RPC calls will be processed from now on. */
-void SetRPCWarmupFinished();
-
-/* returns the current warmup state. */
-bool RPCIsInWarmup(std::string *statusOut);
-
-/**
- * Type-check arguments; throws JSONRPCError if wrong type given. Does not check that
- * the right number of arguments are passed, just that any passed are the correct type.
- * Use like: RPCTypeCheck(params, boost::assign::list_of(str_type)(int_type)(obj_type));
- */
-void RPCTypeCheck(const UniValue& params,
- const std::list<UniValue::VType>& typesExpected, bool fAllowNull=false);
-
-/*
- Check for expected keys/value types in an Object.
- Use like: RPCTypeCheckObj(object, boost::assign::map_list_of("name", str_type)("value", int_type));
-*/
-void RPCTypeCheckObj(const UniValue& o,
- const std::map<std::string, UniValue::VType>& typesExpected, bool fAllowNull=false);
-
-/** Opaque base class for timers returned by NewTimerFunc.
- * This provides no methods at the moment, but makes sure that delete
- * cleans up the whole state.
- */
-class RPCTimerBase
-{
-public:
- virtual ~RPCTimerBase() {}
-};
-
-/**
- * RPC timer "driver".
- */
-class RPCTimerInterface
-{
-public:
- virtual ~RPCTimerInterface() {}
- /** Implementation name */
- virtual const char *Name() = 0;
- /** Factory function for timers.
- * RPC will call the function to create a timer that will call func in *millis* milliseconds.
- * @note As the RPC mechanism is backend-neutral, it can use different implementations of timers.
- * This is needed to cope with the case in which there is no HTTP server, but
- * only GUI RPC console, and to break the dependency of pcserver on httprpc.
- */
- virtual RPCTimerBase* NewTimer(boost::function<void(void)>& func, int64_t millis) = 0;
-};
-
-/** Set the factory function for timers */
-void RPCSetTimerInterface(RPCTimerInterface *iface);
-/** Set the factory function for timer, but only, if unset */
-void RPCSetTimerInterfaceIfUnset(RPCTimerInterface *iface);
-/** Unset factory function for timers */
-void RPCUnsetTimerInterface(RPCTimerInterface *iface);
-
-/**
- * Run func nSeconds from now.
- * Overrides previous timer <name> (if any).
- */
-void RPCRunLater(const std::string& name, boost::function<void(void)> func, int64_t nSeconds);
-
-typedef UniValue(*rpcfn_type)(const UniValue& params, bool fHelp);
-
-class CRPCCommand
-{
-public:
- std::string category;
- std::string name;
- rpcfn_type actor;
- bool okSafeMode;
-};
-
-/**
- * Bitcoin RPC command dispatcher.
- */
-class CRPCTable
-{
-private:
- std::map<std::string, const CRPCCommand*> mapCommands;
-public:
- CRPCTable();
- const CRPCCommand* operator[](const std::string& name) const;
- std::string help(const std::string& name) const;
-
- /**
- * Execute a method.
- * @param method Method to execute
- * @param params UniValue Array of arguments (JSON objects)
- * @returns Result of the call.
- * @throws an exception (UniValue) when an error happens.
- */
- UniValue execute(const std::string &method, const UniValue &params) const;
-
-
- /**
- * Appends a CRPCCommand to the dispatch table.
- * Returns false if RPC server is already running (dump concurrency protection).
- * Commands cannot be overwritten (returns false).
- */
- bool appendCommand(const std::string& name, const CRPCCommand* pcmd);
-};
-
-extern CRPCTable tableRPC;
-
-/**
- * Utilities: convert hex-encoded Values
- * (throws error if not hex).
- */
-extern uint256 ParseHashV(const UniValue& v, std::string strName);
-extern uint256 ParseHashO(const UniValue& o, std::string strKey);
-extern std::vector<unsigned char> ParseHexV(const UniValue& v, std::string strName);
-extern std::vector<unsigned char> ParseHexO(const UniValue& o, std::string strKey);
-
-extern int64_t nWalletUnlockTime;
-extern CAmount AmountFromValue(const UniValue& value);
-extern UniValue ValueFromAmount(const CAmount& amount);
-extern double GetDifficulty(const CBlockIndex* blockindex = NULL);
-extern std::string HelpRequiringPassphrase();
-extern std::string HelpExampleCli(const std::string& methodname, const std::string& args);
-extern std::string HelpExampleRpc(const std::string& methodname, const std::string& args);
-
-extern void EnsureWalletIsUnlocked();
-
-extern UniValue getconnectioncount(const UniValue& params, bool fHelp); // in rpcnet.cpp
-extern UniValue getpeerinfo(const UniValue& params, bool fHelp);
-extern UniValue ping(const UniValue& params, bool fHelp);
-extern UniValue addnode(const UniValue& params, bool fHelp);
-extern UniValue disconnectnode(const UniValue& params, bool fHelp);
-extern UniValue getaddednodeinfo(const UniValue& params, bool fHelp);
-extern UniValue getnettotals(const UniValue& params, bool fHelp);
-extern UniValue setban(const UniValue& params, bool fHelp);
-extern UniValue listbanned(const UniValue& params, bool fHelp);
-extern UniValue clearbanned(const UniValue& params, bool fHelp);
-
-extern UniValue getgenerate(const UniValue& params, bool fHelp); // in rpcmining.cpp
-extern UniValue setgenerate(const UniValue& params, bool fHelp);
-extern UniValue generate(const UniValue& params, bool fHelp);
-extern UniValue getnetworkhashps(const UniValue& params, bool fHelp);
-extern UniValue getmininginfo(const UniValue& params, bool fHelp);
-extern UniValue prioritisetransaction(const UniValue& params, bool fHelp);
-extern UniValue getblocktemplate(const UniValue& params, bool fHelp);
-extern UniValue submitblock(const UniValue& params, bool fHelp);
-extern UniValue estimatefee(const UniValue& params, bool fHelp);
-extern UniValue estimatepriority(const UniValue& params, bool fHelp);
-extern UniValue estimatesmartfee(const UniValue& params, bool fHelp);
-extern UniValue estimatesmartpriority(const UniValue& params, bool fHelp);
-
-extern UniValue verifymessage(const UniValue& params, bool fHelp);
-extern UniValue createmultisig(const UniValue& params, bool fHelp);
-extern UniValue validateaddress(const UniValue& params, bool fHelp);
-extern UniValue getinfo(const UniValue& params, bool fHelp);
-extern UniValue getblockchaininfo(const UniValue& params, bool fHelp);
-extern UniValue getnetworkinfo(const UniValue& params, bool fHelp);
-extern UniValue setmocktime(const UniValue& params, bool fHelp);
-
-extern UniValue getrawtransaction(const UniValue& params, bool fHelp); // in rcprawtransaction.cpp
-extern UniValue listunspent(const UniValue& params, bool fHelp);
-extern UniValue lockunspent(const UniValue& params, bool fHelp);
-extern UniValue listlockunspent(const UniValue& params, bool fHelp);
-extern UniValue createrawtransaction(const UniValue& params, bool fHelp);
-extern UniValue decoderawtransaction(const UniValue& params, bool fHelp);
-extern UniValue decodescript(const UniValue& params, bool fHelp);
-extern UniValue signrawtransaction(const UniValue& params, bool fHelp);
-extern UniValue sendrawtransaction(const UniValue& params, bool fHelp);
-extern UniValue gettxoutproof(const UniValue& params, bool fHelp);
-extern UniValue verifytxoutproof(const UniValue& params, bool fHelp);
-
-extern UniValue getblockcount(const UniValue& params, bool fHelp); // in rpcblockchain.cpp
-extern UniValue getbestblockhash(const UniValue& params, bool fHelp);
-extern UniValue getdifficulty(const UniValue& params, bool fHelp);
-extern UniValue settxfee(const UniValue& params, bool fHelp);
-extern UniValue getmempoolinfo(const UniValue& params, bool fHelp);
-extern UniValue getrawmempool(const UniValue& params, bool fHelp);
-extern UniValue getblockhash(const UniValue& params, bool fHelp);
-extern UniValue getblockheader(const UniValue& params, bool fHelp);
-extern UniValue getblock(const UniValue& params, bool fHelp);
-extern UniValue gettxoutsetinfo(const UniValue& params, bool fHelp);
-extern UniValue gettxout(const UniValue& params, bool fHelp);
-extern UniValue verifychain(const UniValue& params, bool fHelp);
-extern UniValue getchaintips(const UniValue& params, bool fHelp);
-extern UniValue invalidateblock(const UniValue& params, bool fHelp);
-extern UniValue reconsiderblock(const UniValue& params, bool fHelp);
-
-bool StartRPC();
-void InterruptRPC();
-void StopRPC();
-std::string JSONRPCExecBatch(const UniValue& vReq);
-
-#endif // BITCOIN_RPCSERVER_H