public void OnMetadataExtracted(object sender, JSCallbackEventArgs args)
        {
            if (args.Arguments.Length == 0)
            {
                Console.WriteLine("No value returned");
                return;
            }
            JSValue value = args.Arguments[0];

            String metadataJSON = value.ToString();

            //Console.WriteLine(metadataJSON);
            Console.WriteLine("Extraction time : " + DateTime.Now.Subtract(parseStart).TotalMilliseconds);

            Console.WriteLine("Done getting value. Serializing JSON string to ElementState.");
            TranslationContext context = new TranslationContext();

            context.SetUriContext(_puri);
            SimplTypesScope metadataTScope     = SemanticsSessionScope.MetadataTranslationScope;
            Document        myShinyNewMetadata = (Document)metadataTScope.Deserialize(metadataJSON, context, new MetadataDeserializationHookStrategy(SemanticsSessionScope), StringFormat.Json);

            Console.WriteLine("Extraction time including page load and deserialization: " + DateTime.Now.Subtract(timeStart).TotalMilliseconds);
            _webView.LoadCompleted -= WebView_LoadCompleted;

            SemanticsSessionScope.GlobalDocumentCollection.AddDocument(myShinyNewMetadata, _puri);

            SemanticsSessionScope.WebBrowserPool.Release(_webView);
            _requestTimedOut.Stop();

            _closure.TaskCompletionSource.TrySetResult(myShinyNewMetadata);
        }
예제 #2
0
        private void onSetProviderCall(object sender, JSCallbackEventArgs e)
        {
            wcProvider.CallJavascriptFunction("","lightsOff");
            Console.WriteLine(@"ChooseProvider>>> Called JS function; Setting provider: " + e.Arguments[0].ToString());
            if(e.Arguments[0].ToString().Equals("dropbox"))
            {
                GlobalController.Provider = GlobalController.ProviderEnum.DropBox;

                if (!File.Exists("auth/token.xml"))
                {
                    //Your first time setting up the program?
                    Console.WriteLine(@"App.cs>>> No token found, please authenticate the application.");

                    var connectwindow = new ConnectWindow();
                    connectwindow.Show();
                }
                else
                {
                    Console.WriteLine(@"App.cs>>> Token found, no special authentication required");

                    var mainwindow = new MainWindowSimple();
                    mainwindow.Show();
                }
            }
            else if(e.Arguments[0].ToString().Equals("box"))
            {
                GlobalController.Provider = GlobalController.ProviderEnum.BoxNet;

                var loginwindow = new LoginWindow();
                loginwindow.Show();
            }

            Close();
        }
        public void OnMetadataExtracted(object sender, JSCallbackEventArgs args)
        {
            if (args.Arguments.Length == 0)
            {
                Console.WriteLine("No value returned");
                return;
            }
            JSValue value = args.Arguments[0];

            String metadataJSON = value.ToString();
            //Console.WriteLine(metadataJSON);
            Console.WriteLine("Extraction time : " + DateTime.Now.Subtract(parseStart).TotalMilliseconds);

            Console.WriteLine("Done getting value. Serializing JSON string to ElementState.");
            TranslationContext context = new TranslationContext();
            context.SetUriContext(_puri);
            SimplTypesScope metadataTScope = SemanticsSessionScope.MetadataTranslationScope;
            Document myShinyNewMetadata = (Document)metadataTScope.Deserialize(metadataJSON, context,  new MetadataDeserializationHookStrategy(SemanticsSessionScope), StringFormat.Json);
            Console.WriteLine("Extraction time including page load and deserialization: " + DateTime.Now.Subtract(timeStart).TotalMilliseconds);
            _webView.LoadCompleted -= WebView_LoadCompleted;

            SemanticsSessionScope.GlobalDocumentCollection.AddDocument(myShinyNewMetadata, _puri);

            SemanticsSessionScope.WebBrowserPool.Release(_webView);
            _requestTimedOut.Stop();

            _closure.TaskCompletionSource.TrySetResult(myShinyNewMetadata);
        }
예제 #4
0
    public void OnQuitPressed(object sender, JSCallbackEventArgs e)
    {
#if UNITY_EDITOR
        UnityEditor.EditorUtility.DisplayDialog("Quit Requested",
                                                "If you ran this in an actual player, it would quit. :-)", "Ok");
#else
        Application.Quit();
#endif
    }
예제 #5
0
 public void OnQuitPressed(object sender, JSCallbackEventArgs e)
 {
     #if UNITY_EDITOR
         UnityEditor.EditorUtility.DisplayDialog("Quit Requested",
                                    "If you ran this in an actual player, it would quit. :-)", "Ok");
     #else
     Application.Quit();
     #endif
 }
예제 #6
0
        /// <summary>
        /// Plain text callback.
        /// </summary>
        protected void OnTextSelectionChanged(object sender, JSCallbackEventArgs e)
        {
            //System.Diagnostics.Debug.Print( "Text: " + e.Arguments[ 0 ].ToString() );
            selection.Text = e.Arguments[0].ToString();

            if (selectionChangedHandler != null)
            {
                selectionChangedHandler(this, new WebSelectionEventArgs(selection));
            }
        }
예제 #7
0
 void OnWebViewCallback(object sender, JSCallbackEventArgs e)
 {
     if (e.CallbackName == "Notify")
     {
         string id = e.Arguments[0].ToString();
         if (registeredCallbacks.ContainsKey(id))
         {
             WebCallbackDelegate cb = registeredCallbacks[id];
             cb(e.Arguments);
         }
     }
 }
예제 #8
0
        private void onLoginCall(object sender, JSCallbackEventArgs e)
        {
            Console.WriteLine("LoginWindow>>> Login function called from Javascript");
            var username = e.Arguments[0].ToString();
            var password = e.Arguments[1].ToString();

            Console.WriteLine("LoginWindow>>> " + username + " : " + password);

            try
            {
                var mainwindow = new MainWindowSimple(username, password);
                mainwindow.Show();

                Close();
            }
            catch (Exception ex)
            {
                System.Windows.MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK);
                wcLogin.CallJavascriptFunction("", "lightsOn");
            }
        }
예제 #9
0
        internal void handleJSCallback( object sender, JSCallbackEventArgs e )
        {
            string key = String.Format( "{0}.{1}", e.ObjectName, e.CallbackName );

            if ( jsObjectCallbackMap.ContainsKey( key ) )
                jsObjectCallbackMap[ key ]( sender, e );
        }
예제 #10
0
 private void HandleScriptCallback(object sender, JSCallbackEventArgs e)
 {
     this.tbScriptResult.Text = e.Arguments[0].ToString();
 }
예제 #11
0
        private void internalJsCallback( IntPtr caller, IntPtr object_name, IntPtr callback_name, IntPtr arguments )
        {
            JSValue[] args = JSArrayHelper.getArray( arguments );

            JSCallbackEventArgs e = new JSCallbackEventArgs(
                StringHelper.ConvertAweString( object_name ),
                StringHelper.ConvertAweString( callback_name ),
                args );

            if ( JSCallbackCalled != null )
                JSCallbackCalled( this, e );

            CommandManager.InvalidateRequerySuggested();
        }
예제 #12
0
 /// <summary>
 /// HTML text callback.
 /// </summary>
 protected void OnHTMLSelectionChanged(object sender, JSCallbackEventArgs e)
 {
     //System.Diagnostics.Debug.Print( "HTML: " + e.Arguments[ 0 ].ToString() );
     selection.HTML = e.Arguments[0].ToString();
 }
예제 #13
0
 private void onBackupCall(object sender, JSCallbackEventArgs e)
 {
     Backup();
     Console.WriteLine(@"MainWindowSimple>>> Javascript called the backup method.");
 }
예제 #14
0
        internal void handleJSCallback(object sender, JSCallbackEventArgs e)
        {
            string key = e.objectName + "." + e.callbackName;

            if (jsObjectCallbackMap.ContainsKey(key))
                jsObjectCallbackMap[key](sender, e);
        }
예제 #15
0
파일: LobbyScreen.cs 프로젝트: jo215/Iso
        /// <summary>
        /// UI interaction.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void WebEventManager(object sender, JSCallbackEventArgs e)
        {

            switch (e.Arguments[0].ToString())
            {
                case "exit":
                    ScreenManager.AddScreen(new ExitScreen(_eventManager), ControllingPlayer);
                    break;

                case "send":
                    //  Guard against no connection 
                    if (_agent.Connections.Count > 0 && e.Arguments[1].ToString() != null && e.Arguments[1].ToString().Length > 0)
                    {
                        _agent.WriteMessage((byte)MessageType.Chat);
                        _agent.WriteMessage(_game.PlayerID);
                        _agent.WriteMessage(e.Arguments[1].ToString());
                        _agent.SendMessage(_agent.Connections[0]);
                        _ui.WebView.ExecuteJavascript("document.getElementById('input').focus();");
                    }
                    break;

                case "selectmap":
                    LoadAndSendMap(e.Arguments[1].ToString());
                    break;

                case "start":
                    if (_gameState.Module != null)
                    {
                        ScreenManager.Input.UiIsActive = false;
                        LoadingScreen.Load(ScreenManager, true, PlayerIndex.One, new GameplayScreen(_eventManager));
                    }
                    break;
            }
        }
예제 #16
0
        /// <summary>
        /// Plain text callback.
        /// </summary>
        protected void OnTextSelectionChanged( object sender, JSCallbackEventArgs e )
        {
            //System.Diagnostics.Debug.Print( "Text: " + e.Arguments[ 0 ].ToString() );
            selection.Text = e.Arguments[ 0 ].ToString();

            if ( selectionChangedHandler != null )
                selectionChangedHandler( this, new WebSelectionEventArgs( selection ) );
        }
예제 #17
0
 /// <summary>
 /// HTML text callback.
 /// </summary>
 protected void OnHTMLSelectionChanged( object sender, JSCallbackEventArgs e )
 {
     //System.Diagnostics.Debug.Print( "HTML: " + e.Arguments[ 0 ].ToString() );
     selection.HTML = e.Arguments[ 0 ].ToString();
 }
예제 #18
0
        private void internalJsCallback(IntPtr caller, IntPtr object_name, IntPtr callback_name, IntPtr arguments)
        {
            JSValue[] args = JSArrayHelper.getArray(arguments);

            JSCallbackEventArgs e = new JSCallbackEventArgs(this, StringHelper.ConvertAweString(object_name), StringHelper.ConvertAweString(callback_name), args);

            if (OnJSCallback != null)
                OnJSCallback(this, e);
        }
예제 #19
0
 private void myCallBack(object sender, JSCallbackEventArgs e)
 {
 }
예제 #20
0
 private void myCallBack(object sender, JSCallbackEventArgs e)
 {
 }