Esempio n. 1
0
        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;
        }
Esempio n. 2
0
 public void Connect()
 {
     ConnectViewModel.Connect();
 }
Esempio n. 3
0
 public void Disconnect()
 {
     ConnectViewModel.Disconnect();
 }
 public WebPreviewCallbackHandler(ConnectViewModel connectViewModel)
 {
     this.connectViewModel = connectViewModel;
 }