internal DaemonRpcManager(RpcWebClient rpcWebClient) : base(rpcWebClient, true) { TimerSettings = rpcWebClient.TimerSettings; TimerQueryNetworkInformation = new Timer( delegate { QueryNetworkInformation(); }, null, Timeout.Infinite, Timeout.Infinite ); }
internal AccountRpcManager(RpcWebClient rpcWebClient) : base(rpcWebClient, false) { TimerSettings = rpcWebClient.TimerSettings; TimerRefresh = new Timer( delegate { RequestRefresh(); }, null, Timeout.Infinite, Timeout.Infinite ); }
protected T HttpPostData <T>(string command, JsonRpcRequest jsonRpcRequest = null) where T : HttpRpcResponse { var output = RpcWebClient.HttpPostData <T>(RpcHost, RpcPort, command, jsonRpcRequest); if (output != null && output.Status == RpcResponseStatus.Ok) { return(output); } return(null); }
internal BaseRpcManager(RpcWebClient rpcWebClient, bool isDaemon) { RpcWebClient = rpcWebClient; var rpcSettings = rpcWebClient.RpcSettings; if (isDaemon) { RpcHost = rpcSettings.UrlHostDaemon; RpcPort = rpcSettings.UrlPortDaemon; } else { RpcHost = rpcSettings.UrlHostAccountManager; RpcPort = rpcSettings.UrlPortAccountManager; } }
/// <summary>Creates a new instance of Monero API .NET's RPC manager service.</summary> /// <param name="rpcSettings">IP-related settings to use when communicating through the Monero core assemblies' RPC protocol.</param> /// <param name="timerSettings">Timer settings which can be used to alter data fetching intervals.</param> public MoneroRpcManager(IRpcSettings rpcSettings, ITimerSettings timerSettings) { if (rpcSettings == null) { rpcSettings = new RpcSettings(); } if (timerSettings == null) { timerSettings = new TimerSettings(); } RpcWebClient = new RpcWebClient(rpcSettings, timerSettings); RpcSettings = rpcSettings; TimerSettings = timerSettings; Daemon = new DaemonRpcManager(RpcWebClient); AccountManager = new AccountRpcManager(RpcWebClient); }
protected JsonRpcResponse <T> JsonPostData <T>(JsonRpcRequest jsonRpcRequest) where T : class { return(RpcWebClient.JsonPostData <T>(RpcHost, RpcPort, jsonRpcRequest)); }