// Permet d'associer un token à une zibase. Ce token sera ensuite utilisé pour récupérer des données depuis la plateforme zodianet (liste des scénarios par exemple) public void SetZibaseToken(string sZibaseName, string sToken) { if ((m_ZibaseList.Keys.Contains(sZibaseName))) { var zb = new ZibaseInfo(); zb = m_ZibaseList[sZibaseName]; zb.sToken = sToken; m_ZibaseList[sZibaseName] = zb; } }
private void AddZibaseToCollection(string sZibaseName, long lIpAddress) { var seInfo = new SensorInfo(); if ((string.IsNullOrEmpty(sZibaseName))) { sZibaseName = "Unknown"; } if ((!m_ZibaseList.Keys.Contains(sZibaseName))) { var zb = new ZibaseInfo {sLabelBase = sZibaseName, lIpAddress = lIpAddress}; m_ZibaseList.Add(sZibaseName, zb); if (NewZibaseDetected != null) NewZibaseDetected(zb); if (WriteMessage != null) WriteMessage("New Zibase Detected : " + sZibaseName, MSG_INFO); // Creation d'un sensor virtuel pour la detection de l'availability de la Zibase seInfo.sName = "Zibase State"; seInfo.sID = sZibaseName; seInfo.sType = "lnk"; seInfo.sValue = "Online"; seInfo.sHTMLValue = "Online"; seInfo.dwValue = 2; if ((_SensorList.Keys.Contains(sZibaseName + "lnk"))) { seInfo.sHSName = _SensorList[sZibaseName + "lnk"].sHSName; seInfo.sDevice = _SensorList[sZibaseName + "lnk"].sDevice; _SensorList[sZibaseName + "lnk"] = seInfo; } else { _SensorList.Add(sZibaseName + "lnk", seInfo); if (NewSensorDetected != null) NewSensorDetected(seInfo); } if (UpdateSensorInfo != null) UpdateSensorInfo(seInfo); } }
public string GetScenarioList(string sZibaseName) { string functionReturnValue = null; if ((m_ZibaseList.Keys.Contains(sZibaseName))) { var zb = new ZibaseInfo(); zb = m_ZibaseList[sZibaseName]; if ((zb.sToken == null)) { functionReturnValue = "Token must be defined"; } else { // On charge la liste des scènarios depuis la plateforme zodianet var xDoc = new XmlDocument(); xDoc.Load("http://www.zibase.net/m/get_xml.php?device=" + sZibaseName + "&token=" + zb.sToken); XmlNodeList scenario = xDoc.GetElementsByTagName("m"); string sSceList = null; sSceList = ""; { string s = null; string sce_name = null; foreach (XmlNode node in scenario) { s = node.Attributes.GetNamedItem("id").Value; sce_name = node.ChildNodes.Item(0).InnerText; if ((!string.IsNullOrEmpty(sSceList))) sSceList = sSceList + "|"; sSceList = sSceList + sce_name + ";" + s; } functionReturnValue = sSceList; } } } else { functionReturnValue = "Zibase not found"; } return functionReturnValue; }