예제 #1
0
        //-------------------------------------------------------------------------------
        //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);
        }
예제 #2
0
        //-----------------------------------------------------------------------
        public void CopieValeurSnmpDansValeurChamp(int nIdChampCustom)
        {
            CRelationEntiteSnmp_ChampCustom rel = CUtilElementAChamps.GetRelationToChamp(this, nIdChampCustom) as CRelationEntiteSnmp_ChampCustom;

            if (rel != null)
            {
                SetValeurFromSnmp(nIdChampCustom, rel.LastSnmpValue);
            }
        }
예제 #3
0
        //----------------------------------------------------
        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);
        }