public MainViewModel(Action <string> loadPageInBrowser, Action <string> executeJavaScriptCodeInBrowser, Action handleDisconnect) { Settings.Instance.LoadSettings(); previewToolCallbackHandler = new PreviewToolCallbackHandler( (url) => { NoContent = false; WaitingForRegistration = true; loadPageInBrowser(url); }, (javaScript) => { executeJavaScriptCodeInBrowser(javaScript); }, (previewPartIds) => { requestContentUpdate(previewPartIds); }, () => { requestPreviewPartIdUpdate(); }, () => { handleDisconnect(); }); try { previewServiceProxy = new PreviewServiceProxy(previewToolCallbackHandler, Settings.Instance.NamedPipeAddress, CommunicationProtocols.NamedPipe); } catch (PreviewServiceUnavailableException) { Log.Instance.WriteMessage(Log.PreviewUnavailableMessage, SeverityOption.Warning); } connectViewModel = new ConnectViewModel(previewServiceProxy, previewToolCallbackHandler); WebPreviewCallbackHandler = new WebPreviewCallbackHandler(connectViewModel); WebPreviewCallbackHandler.PreviewToolRegistrationReceived += onPreviewToolRegistrationReceivedFromWebApp; NoContent = true; WaitingForRegistration = false; }
public void Connect() { ConnectViewModel.Connect(); }
public void Disconnect() { ConnectViewModel.Disconnect(); }
public WebPreviewCallbackHandler(ConnectViewModel connectViewModel) { this.connectViewModel = connectViewModel; }