Example #1
0
        public virtual IBrowserWindow GetOrCreateBrowserWindow(IApplication application)
        {
            if (application == null)
            {
                throw new ArgumentNullException("application");
            }

            var applicationId = application.Id;

            if (string.IsNullOrEmpty(applicationId))
            {
                throw new ArgumentNullException("application.Id");
            }

            lock (_lockObject)
            {
                if (!_browserWindows.ContainsKey(applicationId))
                {
                    var model = new BrowserViewModel()
                    {
                        Application = application, Session = Session
                    };

                    _uiHelper.PerformInUiThread(() =>
                    {
                        var browserWindow = _browserWindowsBuilder.CreateBrowserWindow(model);
                        _browserWindows[applicationId] = browserWindow;
                    });
                }

                return(_browserWindows[applicationId]);
            }
        }
Example #2
0
        private void ReloadSessions()
        {
            var session = _mainAppClient.GetSession();

            if ((session == null) || (session.Cookies.Count <= 0))
            {
                return;
            }

            _browserWindowsManager.Session = session;

            var apps = _mainAppClient.GetMyApps();

            _browserWindowsManager.Applications = apps;

            _uiHelper.PerformInUiThread(() =>
            {
                foreach (var app in apps)
                {
                    if ((app == null) || string.IsNullOrEmpty(app.UrlString) || _browserWindows.ContainsKey(app.Id))
                    {
                        continue;
                    }

                    var model = new BrowserViewModel()
                    {
                        Application = app, Session = session
                    };

                    var browserWindow       = _browserWindowsBuilder.CreateBrowserWindow(model);
                    _browserWindows[app.Id] = browserWindow;
                }
            });

            foreach (var browserWindow in _browserWindows.Values)
            {
                browserWindow.SetSession(session);
            }
        }