Exemple #1
0
        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
                                                 );
        }
Exemple #2
0
 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;
 }
Exemple #3
0
 public void SetTreeModel(AssemblyTreeModel treeModel)
 {
     if (InvokeRequired)
     {
         BeginInvoke(new Action<AssemblyTreeModel>(SetTreeModelInternal), treeModel);
     }
     else
     {
         SetTreeModelInternal(treeModel);
     }
 }
Exemple #4
0
        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
            );
        }