public BrowserProcessCreation( IApp browserServiceInterface, BrowserProcessConfig browserProcessConfig, string url = null) { try { if (null == browserServiceInterface) { throw new NullReferenceException("Browser service interface not available."); } BrowserProcessOrError = browserServiceInterface.ReuseOrCreateProcess(browserProcessConfig); Thread.Sleep(1444); BrowserProcessErrorMessage = BrowserProcessOrError?.Error?.Message; BrowserProcess = BrowserProcessOrError?.Result; BrowserConnectionOrError = BrowserProcess?.ReuseOrOpenConnection(); BrowserConnectionErrorMessage = BrowserConnectionOrError?.Error?.Message; BrowserConnection = BrowserConnectionOrError?.Result; if (null != BrowserConnection && 0 < url?.Length) { Thread.Sleep(444); BrowserConnection.Document.Result.locationHref = url; } BrowserAddressTcp = BrowserConnection?.BrowserAddressTcp; } catch (Exception Exception) { this.Exception = Exception; } }
static public IResultOrError <OutT> MapResult <InT, OutT>(this IResultOrError <InT> origin, Func <InT, OutT> map) => new ResultOrError <OutT>(null == map ? default(OutT) : map.Invoke(origin.Result), origin.Error);
static public bool Failed <ResultT>(this IResultOrError <ResultT> resultOrError) => null != resultOrError?.Error;
static public bool Succeeded <ResultT>(this IResultOrError <ResultT> resultOrError) => !resultOrError.Failed();