internal void LoadApplication(string path) { Cleanup(); m_xap = new XAP(path); m_hooks = new List <MethodHook>(); var context = TaskScheduler.FromCurrentSynchronizationContext(); Task.Factory.StartNew(() => { m_xap.Parse(); foreach (var xapAssembly in m_xap.Assemblies) { FillAssemblyMethods(xapAssembly); } ResetButton("deploy"); m_view.SetManifestInformation(m_xap); UnsubscribeTreeModelEvents(); m_treeModel = new AssemblyTreeModel(); var rootNode = new Node(m_xap.Title); m_treeModel.Nodes.Add(rootNode); foreach (var assembly in m_xap.Assemblies) { var assemblyNode = new AssemblyNode(new FileInfo(assembly.AssemblyPath).Name); rootNode.Nodes.Add(assemblyNode); ProcessAssemblyNodeToTree(assemblyNode, assembly); } m_view.SetTreeModel(m_treeModel); m_view.SetExpanded(rootNode); Thread.Sleep(50); SubscribeTreeModelEvents(); } ).ContinueWith(t => { if (t.IsFaulted) { HandleError(t.Exception.InnerException); } }, context ); }
private void SetTreeModelInternal(AssemblyTreeModel treeModel) { m_TreeModel = treeModel; m_TreeModel.FilterIO = cbxIOFilter.Checked; m_TreeModel.FilterNet = cbxNetFilter.Checked; m_TreeModel.FilterSecurity = cbxCryptoFilter.Checked; trvAssemblies.Model = m_TreeModel; }
public void SetTreeModel(AssemblyTreeModel treeModel) { if (InvokeRequired) { BeginInvoke(new Action<AssemblyTreeModel>(SetTreeModelInternal), treeModel); } else { SetTreeModelInternal(treeModel); } }
internal void LoadApplication(string path) { Cleanup(); m_xap = new XAP(path); m_hooks = new List<MethodHook>(); var context = TaskScheduler.FromCurrentSynchronizationContext(); Task.Factory.StartNew(() => { m_xap.Parse(); foreach (var xapAssembly in m_xap.Assemblies) { FillAssemblyMethods(xapAssembly); } ResetButton("deploy"); m_view.SetManifestInformation(m_xap); UnsubscribeTreeModelEvents(); m_treeModel = new AssemblyTreeModel(); var rootNode = new Node(m_xap.Title); m_treeModel.Nodes.Add(rootNode); foreach (var assembly in m_xap.Assemblies) { var assemblyNode = new AssemblyNode(new FileInfo(assembly.AssemblyPath).Name); rootNode.Nodes.Add(assemblyNode); ProcessAssemblyNodeToTree(assemblyNode, assembly); } m_view.SetTreeModel(m_treeModel); m_view.SetExpanded(rootNode); Thread.Sleep(50); SubscribeTreeModelEvents(); } ).ContinueWith(t => { if (t.IsFaulted) { HandleError(t.Exception.InnerException); } }, context ); }