Esempio n. 1
0
        //------------------------------------------------------------------
        public CDefinitionProprieteDynamique[] GetDefinitionsChamps(CObjetPourSousProprietes objet, CDefinitionProprieteDynamique defParente)
        {
            List <CDefinitionProprieteDynamique> lstDefs = new List <CDefinitionProprieteDynamique>();

            lstDefs.AddRange(new CFournisseurGeneriqueProprietesDynamiques().GetDefinitionsChamps(objet));
            if (objet.TypeAnalyse != null && objet.TypeAnalyse == typeof(CTrapInstance))
            {
                foreach (CTrapField field in FieldsFromTrap)
                {
                    lstDefs.Add(new CDefinitionProprieteDynamiqueTrapField(field));
                }
                foreach (CTrapFieldSupplementaire field in FieldsSupplementaires)
                {
                    lstDefs.Add(new CDefinitionProprieteDynamiqueTrapFieldSupplementaire(field));
                }
                lstDefs.Add(new CDefinitionProprieteDynamiqueInterrogateurSnmp(InterrogateurSNMP));
            }
            if (objet.TypeAnalyse != null && objet.TypeAnalyse == typeof(CAgentSnmpPourSupervision))
            {
                //Ajoute les requêtes
                foreach (IRunnableEasyQuery query in TypeAgent.Queries)
                {
                    CDefinitionProprieteDynamiqueRunnableEasyQuery def = new CDefinitionProprieteDynamiqueRunnableEasyQuery(query);
                    def.Rubrique = "Queries";
                    lstDefs.Add(def);
                }

                //Ajoute les listes de types d'entités
                foreach (CTypeEntiteSnmpPourSupervision typeEntite in TypeAgent.TypesEntites)
                {
                    CDefinitionProprieteDynamiqueListeEntitesSnmp def = new CDefinitionProprieteDynamiqueListeEntitesSnmp(typeEntite);
                    def.Rubrique = "Entities";
                    lstDefs.Add(def);
                }
            }
            if (objet.TypeAnalyse == typeof(CEntiteSnmpPourSupervision))
            {
                if (defParente is CDefinitionProprieteDynamiqueListeEntitesSnmp)
                {
                    CDefinitionProprieteDynamiqueListeEntitesSnmp defListe = defParente as CDefinitionProprieteDynamiqueListeEntitesSnmp;
                    CTypeEntiteSnmpPourSupervision typeEntite = new CTypeEntiteSnmpPourSupervision(Database);
                    if (typeEntite.ReadIfExist(defListe.NomProprieteSansCleTypeChamp))
                    {
                        foreach (IChampEntiteSNMP champ in typeEntite.Champs)
                        {
                            lstDefs.Add(new CDefinitionProprieteDynamiqueChampEntiteSnmp(champ));
                        }
                    }
                }
                else
                {
                    foreach (IChampEntiteSNMP champ in TypeAgent.TousLesChampsSNMPDefinis)
                    {
                        lstDefs.Add(new CDefinitionProprieteDynamiqueChampEntiteSnmp(champ));
                    }
                }
            }
            return(lstDefs.ToArray());
        }
Esempio n. 2
0
        //------------------------------------------------------------------
        public CDefinitionProprieteDynamique[] GetProprietesInstance()
        {
            List <CDefinitionProprieteDynamique> lst = new List <CDefinitionProprieteDynamique>();

            if (m_listeDefinitions == null)
            {
                m_listeDefinitions = new List <CDefinitionProprieteDynamique>();
                if (m_rootDefinition != null)
                {
                    List <IDefinition> lstDefs = new List <IDefinition>();
                    FillAllDefs(lstDefs, m_rootDefinition);
                    foreach (IDefinition def in lstDefs)
                    {
                        CDefinitionProprieteDynamique defProp = null;
                        switch (def.Type)
                        {
                        case DefinitionType.Scalar:
                            defProp = new CDefinitionProprieteDynamiqueSNMPVariable(def);
                            break;

                        case DefinitionType.Table:
                            defProp = new CDefinitionProprieteDynamiqueSnmpTable(def);
                            break;
                        }
                        if (defProp != null)
                        {
                            m_listeDefinitions.Add(defProp);
                        }
                    }
                }
            }
            lst.AddRange(m_listeDefinitions);
            foreach (IRunnableEasyQuery query in Queries)
            {
                CDefinitionProprieteDynamiqueRunnableEasyQuery def = new CDefinitionProprieteDynamiqueRunnableEasyQuery(query);
                def.Rubrique = "Queries";
                lst.Add(def);
            }
            return(lst.ToArray());
        }