示例#1
0
        //-----------------------------------------------------------
        protected void FillDicDependances(HashSet <string> set)
        {
            IModule module = ModuleMib;

            if (module != null)
            {
                foreach (string strDep in module.Dependents)
                {
                    set.Add(strDep);
                    CSnmpMibModule moduleDep = new CSnmpMibModule(ContexteDonnee);
                    if (moduleDep.ReadIfExists(new CFiltreData(c_champModuleId + "=@1", strDep)))
                    {
                        moduleDep.FillDicDependances(set);
                    }
                }
            }
        }
示例#2
0
        /// /////////////////////////////////////////////////////////
        public bool LoadInRegistre(ObjectRegistryBase registre)
        {
            IModule        module     = ModuleMib;
            List <IModule> lstModules = new List <IModule>();

            if (module != null)
            {
                HashSet <string> lstDeps = new HashSet <string>();
                lstDeps.Add(ModuleId);
                lstModules.Add(module);
                CListeObjetDonneeGenerique <CSnmpMibModule> lstStd = new CListeObjetDonneeGenerique <CSnmpMibModule>(ContexteDonnee);
                lstStd.Filtre = new CFiltreData(c_champIsStandard + "=@1", true);
                foreach (CSnmpMibModule std in lstStd)
                {
                    lstDeps.Add(std.ModuleId);
                    foreach (string strId in std.ToutesDependances)
                    {
                        lstDeps.Add(strId);
                    }
                }
                foreach (string strDep in ToutesDependances)
                {
                    lstDeps.Add(strDep);
                }
                foreach (string strModule in lstDeps)
                {
                    CSnmpMibModule depend = new CSnmpMibModule(ContexteDonnee);
                    if (depend.ReadIfExists(new CFiltreData(CSnmpMibModule.c_champModuleId + "=@1", strModule)))
                    {
                        lstModules.Add(depend.ModuleMib);
                    }
                }
            }
            registre.Import(lstModules);
            registre.Refresh();
            return(registre.Tree.LoadedModules.Contains(ModuleId));
        }