You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by pu...@apache.org on 2012/12/04 02:55:39 UTC

[6/8] wp7 commit: add OnReset virtual to BaseCommand, and call it when page navigates

add OnReset virtual to BaseCommand, and call it when page navigates


Project: http://git-wip-us.apache.org/repos/asf/cordova-wp7/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-wp7/commit/5109de52
Tree: http://git-wip-us.apache.org/repos/asf/cordova-wp7/tree/5109de52
Diff: http://git-wip-us.apache.org/repos/asf/cordova-wp7/diff/5109de52

Branch: refs/heads/master
Commit: 5109de522ab8d7e83bb6f74323abf1fa5d851be0
Parents: 35d9a5c
Author: Jesse MacFadyen <pu...@gmail.com>
Authored: Mon Dec 3 16:29:06 2012 -0800
Committer: Jesse MacFadyen <pu...@gmail.com>
Committed: Mon Dec 3 16:29:06 2012 -0800

----------------------------------------------------------------------
 templates/standalone/cordovalib/CommandFactory.cs  |    8 ++++++++
 .../standalone/cordovalib/Commands/BaseCommand.cs  |    9 +++++++++
 .../standalone/cordovalib/CordovaView.xaml.cs      |    3 ++-
 templates/standalone/cordovalib/NativeExecution.cs |    5 +++++
 4 files changed, 24 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-wp7/blob/5109de52/templates/standalone/cordovalib/CommandFactory.cs
----------------------------------------------------------------------
diff --git a/templates/standalone/cordovalib/CommandFactory.cs b/templates/standalone/cordovalib/CommandFactory.cs
index c7a9f62..5c72ef6 100644
--- a/templates/standalone/cordovalib/CommandFactory.cs
+++ b/templates/standalone/cordovalib/CommandFactory.cs
@@ -100,5 +100,13 @@ namespace WP7CordovaClassLib.Cordova
 
             return commandMap[service];
         }
+
+        public static void ResetAllCommands()
+        {
+            foreach (BaseCommand bc in commandMap.Values)
+            {
+                bc.OnReset();
+            }
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/cordova-wp7/blob/5109de52/templates/standalone/cordovalib/Commands/BaseCommand.cs
----------------------------------------------------------------------
diff --git a/templates/standalone/cordovalib/Commands/BaseCommand.cs b/templates/standalone/cordovalib/Commands/BaseCommand.cs
index 5f5c379..4ff8f22 100644
--- a/templates/standalone/cordovalib/Commands/BaseCommand.cs
+++ b/templates/standalone/cordovalib/Commands/BaseCommand.cs
@@ -103,6 +103,15 @@ namespace WP7CordovaClassLib.Cordova.Commands
             }
         }
 
+
+        /// <summary>
+        /// Occurs when the application is being deactivated.
+        /// </summary>        
+        public virtual void OnReset()
+        {
+        }
+
+
         /// <summary>
         /// Occurs when the application is being deactivated.
         /// </summary>        

http://git-wip-us.apache.org/repos/asf/cordova-wp7/blob/5109de52/templates/standalone/cordovalib/CordovaView.xaml.cs
----------------------------------------------------------------------
diff --git a/templates/standalone/cordovalib/CordovaView.xaml.cs b/templates/standalone/cordovalib/CordovaView.xaml.cs
index 4ac36f5..674f283 100644
--- a/templates/standalone/cordovalib/CordovaView.xaml.cs
+++ b/templates/standalone/cordovalib/CordovaView.xaml.cs
@@ -379,7 +379,8 @@ namespace WP7CordovaClassLib
         {
             this.PageDidChange = true;
             // Debug.WriteLine("GapBrowser_Navigating to :: " + e.Uri.ToString());
-            // TODO: tell any running plugins to stop doing what they are doing.
+            this.nativeExecution.ResetAllCommands();
+
             // TODO: check whitelist / blacklist
             // NOTE: Navigation can be cancelled by setting :        e.Cancel = true;
         }

http://git-wip-us.apache.org/repos/asf/cordova-wp7/blob/5109de52/templates/standalone/cordovalib/NativeExecution.cs
----------------------------------------------------------------------
diff --git a/templates/standalone/cordovalib/NativeExecution.cs b/templates/standalone/cordovalib/NativeExecution.cs
index 92a23cd..390912e 100644
--- a/templates/standalone/cordovalib/NativeExecution.cs
+++ b/templates/standalone/cordovalib/NativeExecution.cs
@@ -56,6 +56,11 @@ namespace WP7CordovaClassLib.Cordova
             return Microsoft.Devices.Environment.DeviceType == DeviceType.Emulator;
         }
 
+        public void ResetAllCommands()
+        {
+            CommandFactory.ResetAllCommands();
+        }
+
         /// <summary>
         /// Executes command and returns result back.
         /// </summary>