//------------------------------------------------------------------------------- //Optimisation : l'entité pour sup n'est créée qu'une seul fois lors d'appels multiples public CResultAErreur ReadChampSnmp(int nIdChampCustom, CInterrogateurSnmp dynamicAgent, ref CEntiteSnmpPourSupervision ettPourSup) { CResultAErreur result = CResultAErreur.True; CResultAErreurType <string> resOID = GetFieldOIDWithEntitePourSupervision(nIdChampCustom, ettPourSup); if (!resOID) { result.EmpileErreur(resOID.Erreur); return(result); } string strOID = resOID.DataType; ISnmpData valeur = dynamicAgent.Get(strOID) as ISnmpData; CRelationEntiteSnmp_ChampCustom relChamp = CUtilElementAChamps.GetRelationToChamp(this, nIdChampCustom) as CRelationEntiteSnmp_ChampCustom; if (relChamp != null) { if (valeur == null) { relChamp.LastSnmpValue = null; } else { relChamp.LastSnmpValue = valeur.ConvertToTypeDotNet(); } } result.Data = valeur != null?valeur.ConvertToTypeDotNet() : null; return(result); }
//----------------------------------------------------------------------- public void CopieValeurSnmpDansValeurChamp(int nIdChampCustom) { CRelationEntiteSnmp_ChampCustom rel = CUtilElementAChamps.GetRelationToChamp(this, nIdChampCustom) as CRelationEntiteSnmp_ChampCustom; if (rel != null) { SetValeurFromSnmp(nIdChampCustom, rel.LastSnmpValue); } }
//---------------------------------------------------- public CResultAErreur SetValeurFromSnmp(int nIdChampCustom, object valeur) { CResultAErreur result = SetValeurChamp(nIdChampCustom, valeur); if (!result) { return(result); } CRelationEntiteSnmp_ChampCustom rel = CUtilElementAChamps.GetRelationToChamp(this, nIdChampCustom) as CRelationEntiteSnmp_ChampCustom; if (rel != null) { rel.LastSnmpValue = valeur; } return(result); }