示例#1
0
        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
                );
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#6
0
 protected JsonRpcResponse <T> JsonPostData <T>(JsonRpcRequest jsonRpcRequest) where T : class
 {
     return(RpcWebClient.JsonPostData <T>(RpcHost, RpcPort, jsonRpcRequest));
 }