예제 #1
0
        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;
            }
        }
예제 #2
0
 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);
예제 #3
0
 static public bool Failed <ResultT>(this IResultOrError <ResultT> resultOrError) => null != resultOrError?.Error;
예제 #4
0
 static public bool Succeeded <ResultT>(this IResultOrError <ResultT> resultOrError) => !resultOrError.Failed();