//------------------------------------------------------------------ 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()); }
//------------------------------------------------------------------ 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()); }