aboutsummaryrefslogtreecommitdiff
path: root/src/rpcserver.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/rpcserver.h')
-rw-r--r--src/rpcserver.h71
1 files changed, 46 insertions, 25 deletions
diff --git a/src/rpcserver.h b/src/rpcserver.h
index d440035f15..8fea38126c 100644
--- a/src/rpcserver.h
+++ b/src/rpcserver.h
@@ -1,14 +1,14 @@
// Copyright (c) 2010 Satoshi Nakamoto
// Copyright (c) 2009-2014 The Bitcoin developers
-// Distributed under the MIT/X11 software license, see the accompanying
+// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-#ifndef _BITCOINRPC_SERVER_H_
-#define _BITCOINRPC_SERVER_H_
+#ifndef BITCOIN_RPCSERVER_H
+#define BITCOIN_RPCSERVER_H
#include "amount.h"
-#include "uint256.h"
#include "rpcprotocol.h"
+#include "uint256.h"
#include <list>
#include <map>
@@ -32,35 +32,47 @@ public:
virtual void close() = 0;
};
-/* Start RPC threads */
+/** Start RPC threads */
void StartRPCThreads();
-/* Alternative to StartRPCThreads for the GUI, when no server is
+/**
+ * Alternative to StartRPCThreads for the GUI, when no server is
* used. The RPC thread in this case is only used to handle timeouts.
* If real RPC threads have already been started this is a no-op.
*/
void StartDummyRPCThread();
-/* Stop RPC threads */
+/** Stop RPC threads */
void StopRPCThreads();
-/* Query whether RPC is running */
+/** Query whether RPC is running */
bool IsRPCRunning();
-/*
- 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));
-*/
+/**
+ * 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 json_spirit::Array& params,
const std::list<json_spirit::Value_type>& typesExpected, bool fAllowNull=false);
-/*
- Check for expected keys/value types in an Object.
- Use like: RPCTypeCheck(object, boost::assign::map_list_of("name", str_type)("value", int_type));
-*/
+/**
+ * Check for expected keys/value types in an Object.
+ * Use like: RPCTypeCheck(object, boost::assign::map_list_of("name", str_type)("value", int_type));
+ */
void RPCTypeCheck(const json_spirit::Object& o,
const std::map<std::string, json_spirit::Value_type>& typesExpected, bool fAllowNull=false);
-/*
- Run func nSeconds from now. Uses boost deadline timers.
- Overrides previous timer <name> (if any).
+/**
+ * Run func nSeconds from now. Uses boost deadline timers.
+ * Overrides previous timer <name> (if any).
*/
void RPCRunLater(const std::string& name, boost::function<void(void)> func, int64_t nSeconds);
@@ -104,10 +116,10 @@ public:
extern const CRPCTable tableRPC;
-//
-// Utilities: convert hex-encoded Values
-// (throws error if not hex).
-//
+/**
+ * Utilities: convert hex-encoded Values
+ * (throws error if not hex).
+ */
extern uint256 ParseHashV(const json_spirit::Value& v, std::string strName);
extern uint256 ParseHashO(const json_spirit::Object& o, std::string strKey);
extern std::vector<unsigned char> ParseHexV(const json_spirit::Value& v, std::string strName);
@@ -186,6 +198,7 @@ extern json_spirit::Value getinfo(const json_spirit::Array& params, bool fHelp);
extern json_spirit::Value getwalletinfo(const json_spirit::Array& params, bool fHelp);
extern json_spirit::Value getblockchaininfo(const json_spirit::Array& params, bool fHelp);
extern json_spirit::Value getnetworkinfo(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value setmocktime(const json_spirit::Array& params, bool fHelp);
extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp
extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp);
@@ -209,5 +222,13 @@ extern json_spirit::Value gettxoutsetinfo(const json_spirit::Array& params, bool
extern json_spirit::Value gettxout(const json_spirit::Array& params, bool fHelp);
extern json_spirit::Value verifychain(const json_spirit::Array& params, bool fHelp);
extern json_spirit::Value getchaintips(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value invalidateblock(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value reconsiderblock(const json_spirit::Array& params, bool fHelp);
+
+// in rest.cpp
+extern bool HTTPReq_REST(AcceptedConnection *conn,
+ const std::string& strURI,
+ const std::map<std::string, std::string>& mapHeaders,
+ bool fRun);
-#endif // _BITCOINRPC_SERVER_H_
+#endif // BITCOIN_RPCSERVER_H