get inspected node access from command-line working
diff --git a/weinre.web/modules/weinre/target/InjectedScriptHostImpl.scoop b/weinre.web/modules/weinre/target/InjectedScriptHostImpl.scoop
index 9fa2cc7..a03a360 100644
--- a/weinre.web/modules/weinre/target/InjectedScriptHostImpl.scoop
+++ b/weinre.web/modules/weinre/target/InjectedScriptHostImpl.scoop
@@ -28,12 +28,19 @@
 //-----------------------------------------------------------------------------
 method pushNodePathToFrontend(/*any*/ node, /*boolean*/ withChildren, /*boolean*/ selectInUI, callback)
     // callback: function()
-    Weinre.notImplemented(arguments.callee.signature)
+    var nodeId = Weinre.nodeStore.getNodeId(node)
+    var children = Weinre.nodeStore.serializeNode(node, 1)
+    Weinre.wi.DOMNotify.setChildNodes(nodeId, children)
+    
+    if (callback) {
+        Weinre.WeinreTargetCommands.sendClientCallback(callback)
+    }
 
 //-----------------------------------------------------------------------------
 method inspectedNode(/*int*/ num, callback)
     // callback: function()
-    Weinre.notImplemented(arguments.callee.signature)
+    var nodeId = Weinre.nodeStore.getInspectedNode(num)
+    return nodeId
 
 //-----------------------------------------------------------------------------
 method currentCallFrame(callback)
diff --git a/weinre.web/modules/weinre/target/NodeStore.scoop b/weinre.web/modules/weinre/target/NodeStore.scoop
index 565d729..5c8debb 100644
--- a/weinre.web/modules/weinre/target/NodeStore.scoop
+++ b/weinre.web/modules/weinre/target/NodeStore.scoop
@@ -10,9 +10,22 @@
 // 
 //-----------------------------------------------------------------------------
 class NodeStore
-    this.__nodeMap     = {}
-    this.__nodeDataMap = {}
-    this.__nextId      = 0
+    this.__nodeMap      = {}
+    this.__nodeDataMap  = {}
+    this.__nextId       = 0
+    this.inspectedNodes = []
+
+
+//-----------------------------------------------------------------------------
+method addInspectedNode(nodeId)
+    this.inspectedNodes.unshift(nodeId)
+    if (this.inspectedNodes.length > 5) {
+        this.inspectedNodes = this.inspectedNodes.slice(0,5)
+    }
+
+//-----------------------------------------------------------------------------
+method getInspectedNode(index)
+    return this.inspectedNodes[index]
 
 //-----------------------------------------------------------------------------
 //
diff --git a/weinre.web/modules/weinre/target/WiDOMImpl.scoop b/weinre.web/modules/weinre/target/WiDOMImpl.scoop
index c5a6310..f951902 100644
--- a/weinre.web/modules/weinre/target/WiDOMImpl.scoop
+++ b/weinre.web/modules/weinre/target/WiDOMImpl.scoop
@@ -10,7 +10,6 @@
 
 //-----------------------------------------------------------------------------
 class WiDOMImpl
-    this.inspectedNodes = []
 
 //-----------------------------------------------------------------------------
 method getChildNodes(/*int*/ nodeId, callback)
@@ -135,15 +134,12 @@
 
 //-----------------------------------------------------------------------------
 method addInspectedNode(/*int*/ nodeId, callback)
-    this.inspectedNodes.unshift(nodeId)
-    if (this.inspectedNodes.length > 5) {
-        this.inspectedNodes = this.inspectedNodes.slice(0,5)
-    }
+    Weinre.nodeStore.addInspectedNode(nodeId)
     
     if (callback) {
         Weinre.WeinreTargetCommands.sendClientCallback(callback)
     }
-
+    
 //-----------------------------------------------------------------------------
 method performSearch(/*string*/ query, /*boolean*/ runSynchronously, callback)
     // callback: function()
@@ -164,23 +160,33 @@
 
 //-----------------------------------------------------------------------------
 method resolveNode(/*int*/ nodeId, callback)
-    // callback: function(/*any*/ result)
-    Weinre.notImplemented(arguments.callee.signature)
-
+    var result = Weinre.injectedScript.resolveNode(nodeId)
+    
+    if (callback) {
+        Weinre.WeinreTargetCommands.sendClientCallback(callback, [result])
+    }
 
 //-----------------------------------------------------------------------------
 method getNodeProperties(/*int*/ nodeId, /*any[]*/ propertiesArray, callback)
-    // callback: function(/*any*/ result)
-    Weinre.notImplemented(arguments.callee.signature)
+    var result = Weinre.injectedScript.getNodeProperties(nodeId, propertiesArray)
 
+    if (callback) {
+        Weinre.WeinreTargetCommands.sendClientCallback(callback, [result])
+    }
 
 //-----------------------------------------------------------------------------
 method getNodePrototypes(/*int*/ nodeId, callback)
-    // callback: function(/*any*/ result)
-    Weinre.notImplemented(arguments.callee.signature)
+    var result = Weinre.injectedScript.getNodePrototypes(nodeId)
 
+    if (callback) {
+        Weinre.WeinreTargetCommands.sendClientCallback(callback, [result])
+    }
 
 //-----------------------------------------------------------------------------
 method pushNodeToFrontend(/*any*/ objectId, callback)
-    // callback: function(/*any*/ result)
-    Weinre.notImplemented(arguments.callee.signature)
+    var objectId = JSON.stringify(objectId)
+    var result = Weinre.injectedScript.pushNodeToFrontend(objectId)
+
+    if (callback) {
+        Weinre.WeinreTargetCommands.sendClientCallback(callback, [result])
+    }