Mono.Debugger.DebuggerConfiguration.CreateModuleGroup C# (CSharp) Method

CreateModuleGroup() private method

private CreateModuleGroup ( string name ) : ModuleGroup
name string
return ModuleGroup
        internal ModuleGroup CreateModuleGroup(string name)
        {
            lock (module_groups.SyncRoot) {
                ModuleGroup group = (ModuleGroup) module_groups [name];
                if (group == null) {
                    group = new ModuleGroup (name);
                    module_groups.Add (name, group);
                }
                return group;
            }
        }

Usage Example

示例#1
0
        protected void LoadSession(XPathNavigator nav)
        {
            XPathNodeIterator session_iter = nav.Select(
                "/DebuggerConfiguration/DebuggerSession[@name='" + Name + "']");

            if (!session_iter.MoveNext())
            {
                throw new InternalError();
            }

            XPathNodeIterator group_iter = nav.Select(
                "/DebuggerConfiguration/ModuleGroups/ModuleGroup");

            while (group_iter.MoveNext())
            {
                string      name  = group_iter.Current.GetAttribute("name", "");
                ModuleGroup group = Config.CreateModuleGroup(name);

                group.SetSessionData(group_iter);
            }

            XPathNodeIterator modules_iter = session_iter.Current.Select("Modules/*");

            while (modules_iter.MoveNext())
            {
                string name  = modules_iter.Current.GetAttribute("name", "");
                string group = modules_iter.Current.GetAttribute("group", "");

                Module module = (Module)modules [name];
                if (module == null)
                {
                    ModuleGroup mgroup = Config.GetModuleGroup(group);
                    module = new Module(mgroup, name, null);
                    modules.Add(name, module);
                }

                module.SetSessionData(modules_iter);
            }

            XPathNodeIterator event_iter = session_iter.Current.Select("Events/*");

            LoadEvents(event_iter);

            XPathNodeIterator display_iter = session_iter.Current.Select("Displays/*");

            LoadDisplays(display_iter);
        }